Sript för skapande av db och användare

Databaser & SQL

4 svar · 166 visningar · startad av mikaelhe

Medlem sedan okt. 200016 inlägg
Trådstart#1

Hejsan!

Jag skulle vilja göra ett script som skapar en ny databas och tillhörande användare med aktulla rättigheter till SQL server. Antingen ett script som man kan köra i SQL Server Query Analyzer eller som man kan köra från en asp-sida. ASP varianten är att föredra. Är det nån där ute som vet hur det skall gå till?

Medlem sedan aug. 20012 349 inlägg
#2

Högerklicka på databasen och välj All Tasks -> Generate SQL script.

Under fliken Options klicka i Sript All database Roles and Users.

Klicka på ok.
Filen hamnar in din MSSQL7/binn katalog och heter (tror jag) vad databasen heter.sql (eller man kanske får välja?)

Det funkar bra, fast man får inte med all data i tabellerna, bara själva skapandet av databastabellerna.

Medlem sedan okt. 200016 inlägg
#3

Hejsan igen!

Följande kod är den man får ut om man förljer ovanstående "talares" förslag. Som jag/vi tolkar det är är det bara skapande av användare och tabeller och förutsätter att man har en databas redan. Är det så?

if exists (select * from sysobjects where id = object_id(N'[dbo].[test]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[test]
GO

if not exists (select * from master..syslogins where name = N'CERBERUS\Administrator')
exec sp_grantlogin N'CERBERUS\Administrator'
exec sp_defaultdb N'CERBERUS\Administrator', N'master'
exec sp_defaultlanguage N'CERBERUS\Administrator', N'us_english'
GO

if not exists (select * from sysusers where name = N'micke' and uid < 16382)
EXEC sp_grantdbaccess N'micke', N'micke'
GO

exec sp_addrolemember N'db_datareader', N'micke'
GO

exec sp_addrolemember N'db_datawriter', N'micke'
GO

CREATE TABLE [dbo].[test] (
[id] [uniqueidentifier] NULL ,
[test] [char] (10) NULL
) ON [PRIMARY]
GO

Det jag/vi är ute efter är att kunna köra ett script i ASP eller QueryAnalyzern för att skapa först databasen, sen användare och tabeller. Och att kunna ge den olika namn varje gång man kör scriptet.

Medlem sedan aug. 20012 349 inlägg
#4

sant skapar bara tabellerna som jag skrev.

bara själva skapandet av databastabellerna

Jag har ingen aning :( om hur man får den att skapa db:n med, men det kan man säkert hitta på nätet någonstans eller så. :)

Det borde gå att göra med sql syntax.

För att underlätta ert sökande har jag tagit mig friheten att leta upp en länk till microsoft där det beskriver create database commandot i T-SQL. Man kna ju tänka sig att ni får skapa en lagrad procedur som skapar databaser. Jag har inte läst hela jätte sidan, men den verkar avhandla det ni vill göra.

CREATE DATABASE

säg inte tack ;)

Medlem sedan dec. 200012 464 inlägg
265 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)