Use Automart --inserting non english characters --into a table --the N stands for unicode --the underlying type must be Nvarchar not varchar Insert into Person(LastName, FirstName) Values(N'κονγεροσ',N'Στεφονοσ') --unicode character set --1st 255 8 bits Ascii --32000 16 bit character -- 24 bit character -- 32 bit character -- 64 bit character Select * From Person Select * From Customer.RegisteredCustomer --hashbytes is a function that "hashes" --a value. You can use various hash methods --MD5 is one Declare @password varbinary(500) Set @password=Hashbytes('MD5','jpass') Select @password --uses shai hash method Declare @password varbinary(500) Set @password=Hashbytes('sha1','jpass') Select @password --add a column to the Registered customer table Alter table Customer.RegisteredCustomer Add hashedPassword varbinary(500) Select * from Customer.RegisteredCustomer --add a hash for the first customer Update Customer.RegisteredCustomer Set hashedPassword=HASHBYTES('MD5','jpass') Where RegisteredCustomerID=1 --simulate checking the hash as if --for a login Declare @Password Varbinary(500) Set @password = HASHBYTES('MD5','jpass') if Exists (Select Hashedpassword from Customer.RegisteredCustomer Where hashedPassword=@password) Begin Print 'Login successful' End Else Begin Print 'Login Failed' End --snapshots --a snapshot takes a picture of a database --at a moment in time --it only physically stores the data if it has changed in --the underlying database. the original form is copied to --the snapshot Create Database Automart_Snapshot On (Name ='Automart', Filename='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Automart_Snapshot.ds') As Snapshot of Automart Use Automart_Snapshot Select * From Person Use Automart Delete From Person where Personkey=54 --make some changes in the underlying database and then --compare the two database Update Person Set FirstName='Jason' where personkey=1 --in an emergancy you can recover --a database from a snapshot use Master Restore Database Automart from Database_Snapshot='Automart_Snapshot' --Full Text Catalog use Master --add a filegroup Alter Database Automart Add Filegroup FullTextCatalog use Automart --add a table with some text Create Table TextTest ( TestId int identity (1,1) primary key, TestNotes Nvarchar(255) ) --insert text Insert into TextTest(TestNotes) Values('For test to be successful we must have a lot of text'), ('The test was not successful. sad face'), ('there is more than one test that can try a man'), ('Success is a relative term'), ('It is a rare man that is always successful'), ('The root of satisfaction is sad'), ('men want success') Select * From TextTest --create full text catalog Create FullText Catalog TestDescription on Filegroup FullTextCatalog --Create a full text index Create FullText index on textTest(TestNotes) Key Index PK__TextTest__8CC33160412EB0B6 on TestDescription With Change_tracking auto --run queries on the full text catalog --find all instances that have the word "sad" Select TestID, TestNotes From TextTest Where FreeText(TestNotes, 'sad') --do the same with successful Select TestID, TestNotes From TextTest Where FreeText(TestNotes, 'successful') Select TestID, TestNotes From TextTest Where Contains(TestNotes, '"success"') --look for any words containing the letters "success" --the * is a wildcard Select TestID, TestNotes From TextTest Where Contains(TestNotes, '"success*"') --looks for all grammatical forms of a word Select TestID, TestNotes From TextTest Where Contains(TestNotes, ' Formsof (Inflectional, man)') --finds words near another word Select TestID, TestNotes From TextTest Where Contains(TestNotes, ' not near successful') Select TestID, TestNotes From TextTest Where Contains(TestNotes, ' sad near successful')
Tuesday, July 17, 2012
Hashing, Snapshots, Full Text Indexes
Subscribe to:
Post Comments (Atom)
IsNull(ExecuteSql('Numeric', 'SELECT 1 FROM sys.tables a INNER JOIN sys.indexes b ON a.object_id = b.object_id where b.is_primary_key = 1 AND a.name = @@ObjectName AND a.schema_id = SCHEMA_ID(@@SchemaName)'), 0)
ReplyDeleteArticle regarding Expression error
ReplyDeletehttp://social.msdn.microsoft.com/forums/en-US/sqltools/thread/81b3a481-a2f5-40e8-9a6b-03cf11e0e896/