how to Create SQL Server Database with User? how to Create SQL Server Database with User? sql sql

how to Create SQL Server Database with User?


Assuming that you are using windows auth with a login 'domain\user' that has already been created.

--create the databaseCREATE DATABASE NewDB--create the user from the loginUse NewDBCREATE USER [domain\user] FOR LOGIN [domain\user]--To give user SELECT/UPDATE/INSERT/DELETE on all tablesEXEC sp_addrolemember 'db_datareader', 'domain\user'EXEC sp_addrolemember 'db_datawriter', 'domain\user'

Alternatively to give the user admin over the database, replace the last two lines with.

--To give admin permissionsEXEC sp_addrolemember 'db_owner', 'domain\user'

CREATE DATABASE also has many options which you might need that can be found on BOL.

http://msdn.microsoft.com/en-us/library/ms176061.aspx

If you need to create a login also then you will need the following before creating the USER on your database.

--Using SQL AuthCREATE LOGIN loginname WITH PASSWORD = 'passw0rd';--Windows AuthCREATE LOGIN domain\user FROM WINDOWS; 


DECLARE  @DatabaseName AS NVARCHAR(128),  @Username AS NVARCHAR(128),  @Password AS NVARCHAR(128),  @SQL AS NVARCHAR(MAX)SELECT  @DatabaseName = 'YourDatabaseName',  @Username = 'Username',  @Password = 'Password'SET @SQL = 'CREATE DATABASE [' + @DatabaseName + ']'EXEC (@SQL)SET @SQL = 'CREATE LOGIN [' + @Username + '] WITH PASSWORD = ''' + @Password + ''''EXEC (@SQL)SET @SQL = 'USE ' + @DatabaseNameEXEC (@SQL)SET @SQL = 'CREATE USER [' + @Username + '] FOR LOGIN [' + @Username + ']'EXEC (@SQL)EXEC sp_addrolemember 'db_owner', @username