Bonjour,
je me retrouve lors de l'exécution d'un script .sql.
En fait je génère des script de création de base de manière automatique et j'aimerai ensuite pouvoir exécuter le script sql sur mon serveur de base de données afin de créer la base.
J'ai lu plusieurs article a ce sujet qui propose de lire le contenu du fichier et d'exécuter chaque requêtes une par une.
Cette solution ne convient pas dans mon cas.
Est ce que quelqu'un comment exécuter un script sql en php comme si l'on passé par l'éditeur de requête du sql manager?
Je vous met ci-dessus un exemple de script généré que j'aimerai exécuter sur mon serveur de base de données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
 
CREATE DATABASE [TESTLV]  ON (NAME = N'TESTLV_Data', FILENAME = N'C:\Bases_MSSQL\TESTLV_Data.MDF' , SIZE = 12, FILEGROWTH = 10%) LOG ON (NAME = N'TESTLV_Log', FILENAME = N'C:\Bases_MSSQL\TESTLV_Log.LDF' , SIZE = 14, FILEGROWTH = 10%)
 COLLATE French_CI_AS
GO
 
exec sp_dboption N'TESTLV', N'autoclose', N'false'
GO
 
exec sp_dboption N'TESTLV', N'bulkcopy', N'false'
GO
 
exec sp_dboption N'TESTLV', N'trunc. log', N'false'
GO
 
exec sp_dboption N'TESTLV', N'torn page detection', N'true'
GO
 
exec sp_dboption N'TESTLV', N'read only', N'false'
GO
 
exec sp_dboption N'TESTLV', N'dbo use', N'false'
GO
 
exec sp_dboption N'TESTLV', N'single', N'false'
GO
 
exec sp_dboption N'TESTLV', N'autoshrink', N'false'
GO
 
exec sp_dboption N'TESTLV', N'ANSI null default', N'false'
GO
 
exec sp_dboption N'TESTLV', N'recursive triggers', N'false'
GO
 
exec sp_dboption N'TESTLV', N'ANSI nulls', N'false'
GO
 
exec sp_dboption N'TESTLV', N'concat null yields null', N'false'
GO
 
exec sp_dboption N'TESTLV', N'cursor close on commit', N'false'
GO
 
exec sp_dboption N'TESTLV', N'default to local cursor', N'false'
GO
 
exec sp_dboption N'TESTLV', N'quoted identifier', N'false'
GO
 
exec sp_dboption N'TESTLV', N'ANSI warnings', N'false'
GO
 
exec sp_dboption N'TESTLV', N'auto create statistics', N'true'
GO
 
exec sp_dboption N'TESTLV', N'auto update statistics', N'true'
GO
 
 
if not exists (select * from master.dbo.syslogins where loginname = N'iBOLT')
BEGIN
	declare @logindb nvarchar(132), @loginlang nvarchar(132) select @logindb = N'iBOLT', @loginlang = N'Français'
	if @logindb is null or not exists (select * from master.dbo.sysdatabases where name = @logindb)
		select @logindb = N'master'
	if @loginlang is null or (not exists (select * from master.dbo.syslanguages where name = @loginlang) and @loginlang <> N'us_english')
		select @loginlang = @@language
	exec sp_addlogin N'iBOLT', null, @logindb, @loginlang
END
GO
 
if not exists (select * from master.dbo.syslogins where loginname = N'SAI-DB\Administrator')
	exec sp_grantlogin N'SAI-DB\Administrator'
	exec sp_defaultdb N'SAI-DB\Administrator', N'MSSQL_SGC'
	exec sp_defaultlanguage N'SAI-DB\Administrator', N'Français'
GO
 
if not exists (select * from master.dbo.syslogins where loginname = N'SAI-DB\Lety')
	exec sp_grantlogin N'SAI-DB\Lety'
	exec sp_defaultdb N'SAI-DB\Lety', N'MSSQL_SGC'
	exec sp_defaultlanguage N'SAI-DB\Lety', N'Français'
GO
 
if not exists (select * from master.dbo.syslogins where loginname = N'SAI-DB\Loic')
	exec sp_grantlogin N'SAI-DB\Loic'
	exec sp_defaultdb N'SAI-DB\Loic', N'eLearning'
	exec sp_defaultlanguage N'SAI-DB\Loic', N'Français'
GO
 
if not exists (select * from master.dbo.syslogins where loginname = N'SAI-DB\Olivier')
	exec sp_grantlogin N'SAI-DB\Olivier'
	exec sp_defaultdb N'SAI-DB\Olivier', N'MSSQL_SGC'
	exec sp_defaultlanguage N'SAI-DB\Olivier', N'Français'
GO
 
if not exists (select * from master.dbo.syslogins where loginname = N'SAI-DB\Thierry')
	exec sp_grantlogin N'SAI-DB\Thierry'
	exec sp_defaultdb N'SAI-DB\Thierry', N'MSSQL_SGC'
	exec sp_defaultlanguage N'SAI-DB\Thierry', N'Français'
GO
 
exec sp_addsrvrolemember N'SAI-DB\Administrator', sysadmin
GO
 
exec sp_addsrvrolemember N'SAI-DB\Administrator', dbcreator
GO
 
exec sp_addsrvrolemember N'SAI-DB\Lety', sysadmin
GO
 
exec sp_addsrvrolemember N'SAI-DB\Lety', dbcreator
GO
 
exec sp_addsrvrolemember N'SAI-DB\Loic', sysadmin
GO
 
exec sp_addsrvrolemember N'SAI-DB\Olivier', sysadmin
GO
 
exec sp_addsrvrolemember N'SAI-DB\Olivier', dbcreator
GO
 
 
/*Sauvegarde de la base de donnees de reference choisie */
 
BACKUP DATABASE Intelilight_Gerance TO DISK=N'C:\Sauvegardes_MSSQL\Intelilight_Gerance\Intelilight_Gerance.bak' WITH INIT
 
GO
 
 
/*Restauration des donnees de la sauvegarde de la base de reference choisie */
 
USE master
GO
RESTORE DATABASE TESTLV FROM DISK=N'C:\Sauvegardes_MSSQL\Intelilight_Gerance\Intelilight_Gerance.bak'
WITH REPLACE,
move 'ISORE_data' to 'C:\Bases_MSSQL\TESTLV_Data.MDF',
move 'ISORE_log' to 'C:\Bases_MSSQL\TESTLV_Log.LDF'
GO
Merci d'avance de l'attention que vous porterez a ce post, et pour vos réponses.