webForumDet fria alternativet

Sript för skapande av db och användare

Databaser & SQLur Databashanterare & SQL

4 svar · 157 visningar · startad av mikaelhe

Medlem sedan okt. 200016 inlägg
Frågan#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?

------------------
"There's no end to the possibilities!"
Jim Carey in The Cableguy

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.

------------------
calling me a motherfucker, saying he's gonna blow me away and blah, blah, blah, blah, blah.
National Blonde Day!

[Redigerat av mrblonde den 24 aug 2001]

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.

------------------
"There's no end to the possibilities!"
Jim Carey in The Cableguy

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 ;)

------------------
calling me a motherfucker, saying he's gonna blow me away and blah, blah, blah, blah, blah.
National Blonde Day!

Medlem sedan dec. 200012 464 inlägg
#5

För att skapa användare
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_sp_adda_0q7i.asp

För att inloggning i en viss databas
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_sp_addp_0awi.asp

------------------
essentitia preter non sans multiplicandum

141 ms totalt · 3 externa anrop · v20260731065814-full.55e59744
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)