SQL "How To's" Part 3September 12, 2001
1) How to move Master Database Moving a Master database is different from moving a User database. Last week, in "How To's" 2 we saw how to move User database. Now lets see how to move a Master database. » Right-click the SQL Server in Enterprise Manager and click Properties on the shortcut menu. » Click the Startup Parameters button and you see the following entries: -dD:\MSSQL7\data\master.mdf -eD:\MSSQL7\log\ErrorLog -lD:\MSSQL7\data\mastlog.ldf -d is the fully qualified path for the master database data file. -e is the fully qualified path for the error log file. -l is the fully qualified path for the master database log file. » Remove these values and specify the new values. For example : -dE:\SQLDATA\master.mdf -lE:\SQLDATA\mastlog.ldf Note : You can specify a new path for the error log file as well. » Stop SQL Server. » Copy the Master.mdf and Mastlog.ldf files to the new location (E:\Sqldata). » Restart SQL Server. 2) How to Rename a Server » Rename the physical server. » Reboot the server. » Run the SQL Server setup program. This will change the Registry entries. The setup will prompt you to "Upgrade" SQL Server. Choose "yes". » Reboot the server. » Connect to the new server name in Query analyzer. » Run this code: sp_dropserver <old server name> » Run this code: sp_addserver <new server name>, local » Add the entry for the new Server name in Enterprise manager and delete the entry for the Old server name. 3) How to detect & rectify Orphaned Users in a
Database Logins are associated to users by the security identifiers (SIDs), which are stored in the Master database. When you restore a database to a different server, the SID may be different resulting in a mismatch between the Login-User association. These users, without a valid login association, are called 'Orphaned Users'. Here's how you can Detect Orphaned Users :- Use Northwind Go sp_change_users_login 'Report' To associate a Orphaned User with a Login :- Use Northwind Go sp_change_users_login 'update_one', 'username', 'loginname' 4) How to use a Stored procedure as a Derived Table Here's a code sample which uses the recordset returned by the execution of a stored procedure as a derived table. SELECT a.pub_id, b.pub_name, a.title_id, a.price, a.pubdate FROM OPENROWSET('SQLOLEDB','servername'; 'username'; 'password', 'exec Pubs.dbo.reptq1') AS a inner join publishers b on a.pub_id = b.pub_id 5) How to Generate Serial Numbers in a Query create table #Fruits (Fruit Varchar(25)) INSERT #Fruits (Fruit) VALUES ('Mango') INSERT #Fruits (Fruit) VALUES ('Apple') INSERT #Fruits (Fruit) VALUES ('Banana') INSERT #Fruits (Fruit) VALUES ('Grapes') select Sno=count(*), a1.Fruit from #Fruits a1 INNER JOIN #Fruits a2 ON a1.Fruit >= a2.Fruit group by a1.Fruit order by [Sno] Any comments or suggestions are welcome at sumitdig@hotmail.com.
|