Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sauvegarde d'une base SQL Server en ASP .NET

10 réponses
Avatar
Claude Cap
Bonjour,
Je cherche à lancer une sauvegarde de base de données via la l'utilitaire
osql en ASP .NET.

Pour cela j'utilise, Process.Start pour lancer la ligne de commande. Voici
un exemple de code :

string commandName = "osql";
string arguments = " -U sa -P sa -S (local) -Q \"BACKUP DATABASE BDTEST TO
DISK ='C:\\BTESTBackup.dat'\"";

En commande DOS, cela fonctionne correctement, mais en ASP .NET j'ai le
message d'erreur suivant :

"L'application n'a pas réussi à s'initialiser correctement (0xc00000142).
Cliquez sur Ok pour arrêter l'application."

Voici ce que j'ai tenté pour le moment :

-> Au niveau ACL du disque j'ai rajouté le contrôle total au user ASP.NET.
-> Dans IIS sur mon site j'ai tous coché dans les options de répertoire de
base (lecure, écriture, ....) / en Autorisation d'éxecution j'ai mis
"Scripts et exécutables" / en Protection d'application j'ai mis "Faible
(Processus IIS)"
-> Dans les options d'internet explorer, onglet sécurité j'ai mis toutes les
zones à niveau de sécurité faibles.

Je ne pense donc pas que ce soit un problème de sécurité.
Quelq'un aurait-il une idée ?
Merci

10 réponses

Avatar
Claude Cap
Dans l'exemple de code j'ai oublié de dire que je faisait ensuite un
"Process.Start(commandName , arguments )"

"Claude Cap" a écrit dans le message de
news:
> Bonjour,
> Je cherche à lancer une sauvegarde de base de données via la
l'utilitaire
> osql en ASP .NET.
>
> Pour cela j'utilise, Process.Start pour lancer la ligne de commande.
Voici
> un exemple de code :
>
> string commandName = "osql";
> string arguments = " -U sa -P sa -S (local) -Q "BACKUP DATABASE BDTEST
TO
> DISK ='C:BTESTBackup.dat'"";
>
> En commande DOS, cela fonctionne correctement, mais en ASP .NET j'ai le
> message d'erreur suivant :
>
> "L'application n'a pas réussi à s'initialiser correctement
(0xc00000142).
> Cliquez sur Ok pour arrêter l'application."
>
> Voici ce que j'ai tenté pour le moment :
>
> -> Au niveau ACL du disque j'ai rajouté le contrôle total au user
ASP.NET.
> -> Dans IIS sur mon site j'ai tous coché dans les options de répertoire
de
> base (lecure, écriture, ....) / en Autorisation d'éxecution j'ai mis
> "Scripts et exécutables" / en Protection d'application j'ai mis "Faible
> (Processus IIS)"
> -> Dans les options d'internet explorer, onglet sécurité j'ai mis toutes
les
> zones à niveau de sécurité faibles.
>
> Je ne pense donc pas que ce soit un problème de sécurité.
> Quelq'un aurait-il une idée ?
> Merci
>
>
Avatar
Claude Cap
Dans l'exemple de code j'ai oublié de dire que je faisait ensuite un
"Process.Start(commandName , arguments )"

"Claude Cap" a écrit dans le message de
news:
> Bonjour,
> Je cherche à lancer une sauvegarde de base de données via la
l'utilitaire
> osql en ASP .NET.
>
> Pour cela j'utilise, Process.Start pour lancer la ligne de commande.
Voici
> un exemple de code :
>
> string commandName = "osql";
> string arguments = " -U sa -P sa -S (local) -Q "BACKUP DATABASE BDTEST
TO
> DISK ='C:BTESTBackup.dat'"";
>
> En commande DOS, cela fonctionne correctement, mais en ASP .NET j'ai le
> message d'erreur suivant :
>
> "L'application n'a pas réussi à s'initialiser correctement
(0xc00000142).
> Cliquez sur Ok pour arrêter l'application."
>
> Voici ce que j'ai tenté pour le moment :
>
> -> Au niveau ACL du disque j'ai rajouté le contrôle total au user
ASP.NET.
> -> Dans IIS sur mon site j'ai tous coché dans les options de répertoire
de
> base (lecure, écriture, ....) / en Autorisation d'éxecution j'ai mis
> "Scripts et exécutables" / en Protection d'application j'ai mis "Faible
> (Processus IIS)"
> -> Dans les options d'internet explorer, onglet sécurité j'ai mis toutes
les
> zones à niveau de sécurité faibles.
>
> Je ne pense donc pas que ce soit un problème de sécurité.
> Quelq'un aurait-il une idée ?
> Merci
>
>
Avatar
Patrice
Passer par ADO.NET me semblerait plus simple ?

A première vue, j'aurais tendance à dire que le chemin de la commande est à
préciser (outre possible problème de droits) (vérifier en testant d'abord
dans une appli interactive .NET).

Patrice

--

"Claude Cap" a écrit dans le message de
news:
Bonjour,
Je cherche à lancer une sauvegarde de base de données via la l'utilitaire
osql en ASP .NET.

Pour cela j'utilise, Process.Start pour lancer la ligne de commande.


Voici
un exemple de code :

string commandName = "osql";
string arguments = " -U sa -P sa -S (local) -Q "BACKUP DATABASE BDTEST TO
DISK ='C:BTESTBackup.dat'"";

En commande DOS, cela fonctionne correctement, mais en ASP .NET j'ai le
message d'erreur suivant :

"L'application n'a pas réussi à s'initialiser correctement (0xc00000142).
Cliquez sur Ok pour arrêter l'application."

Voici ce que j'ai tenté pour le moment :

-> Au niveau ACL du disque j'ai rajouté le contrôle total au user ASP.NET.
-> Dans IIS sur mon site j'ai tous coché dans les options de répertoire de
base (lecure, écriture, ....) / en Autorisation d'éxecution j'ai mis
"Scripts et exécutables" / en Protection d'application j'ai mis "Faible
(Processus IIS)"
-> Dans les options d'internet explorer, onglet sécurité j'ai mis toutes


les
zones à niveau de sécurité faibles.

Je ne pense donc pas que ce soit un problème de sécurité.
Quelq'un aurait-il une idée ?
Merci




Avatar
Patrice
Passer par ADO.NET me semblerait plus simple ?

A première vue, j'aurais tendance à dire que le chemin de la commande est à
préciser (outre possible problème de droits) (vérifier en testant d'abord
dans une appli interactive .NET).

Patrice

--

"Claude Cap" a écrit dans le message de
news:
Bonjour,
Je cherche à lancer une sauvegarde de base de données via la l'utilitaire
osql en ASP .NET.

Pour cela j'utilise, Process.Start pour lancer la ligne de commande.


Voici
un exemple de code :

string commandName = "osql";
string arguments = " -U sa -P sa -S (local) -Q "BACKUP DATABASE BDTEST TO
DISK ='C:BTESTBackup.dat'"";

En commande DOS, cela fonctionne correctement, mais en ASP .NET j'ai le
message d'erreur suivant :

"L'application n'a pas réussi à s'initialiser correctement (0xc00000142).
Cliquez sur Ok pour arrêter l'application."

Voici ce que j'ai tenté pour le moment :

-> Au niveau ACL du disque j'ai rajouté le contrôle total au user ASP.NET.
-> Dans IIS sur mon site j'ai tous coché dans les options de répertoire de
base (lecure, écriture, ....) / en Autorisation d'éxecution j'ai mis
"Scripts et exécutables" / en Protection d'application j'ai mis "Faible
(Processus IIS)"
-> Dans les options d'internet explorer, onglet sécurité j'ai mis toutes


les
zones à niveau de sécurité faibles.

Je ne pense donc pas que ce soit un problème de sécurité.
Quelq'un aurait-il une idée ?
Merci




Avatar
Patrice Manac'h
Bonjour,

et pourquoi pas en utilisant sqldmo ?
http://www.csharphelp.com/archives2/archive345.html

Cordialement,

P. Manac'h
MCS France

"Patrice" a écrit dans le message de
news:%
Passer par ADO.NET me semblerait plus simple ?

A première vue, j'aurais tendance à dire que le chemin de la commande est


à
préciser (outre possible problème de droits) (vérifier en testant d'abord
dans une appli interactive .NET).

Patrice

--

"Claude Cap" a écrit dans le message de
news:
> Bonjour,
> Je cherche à lancer une sauvegarde de base de données via la


l'utilitaire
> osql en ASP .NET.
>
> Pour cela j'utilise, Process.Start pour lancer la ligne de commande.
Voici
> un exemple de code :
>
> string commandName = "osql";
> string arguments = " -U sa -P sa -S (local) -Q "BACKUP DATABASE BDTEST


TO
> DISK ='C:BTESTBackup.dat'"";
>
> En commande DOS, cela fonctionne correctement, mais en ASP .NET j'ai le
> message d'erreur suivant :
>
> "L'application n'a pas réussi à s'initialiser correctement


(0xc00000142).
> Cliquez sur Ok pour arrêter l'application."
>
> Voici ce que j'ai tenté pour le moment :
>
> -> Au niveau ACL du disque j'ai rajouté le contrôle total au user


ASP.NET.
> -> Dans IIS sur mon site j'ai tous coché dans les options de répertoire


de
> base (lecure, écriture, ....) / en Autorisation d'éxecution j'ai mis
> "Scripts et exécutables" / en Protection d'application j'ai mis "Faible
> (Processus IIS)"
> -> Dans les options d'internet explorer, onglet sécurité j'ai mis toutes
les
> zones à niveau de sécurité faibles.
>
> Je ne pense donc pas que ce soit un problème de sécurité.
> Quelq'un aurait-il une idée ?
> Merci
>
>




Avatar
Patrice Manac'h
Bonjour,

et pourquoi pas en utilisant sqldmo ?
http://www.csharphelp.com/archives2/archive345.html

Cordialement,

P. Manac'h
MCS France

"Patrice" a écrit dans le message de
news:%
Passer par ADO.NET me semblerait plus simple ?

A première vue, j'aurais tendance à dire que le chemin de la commande est


à
préciser (outre possible problème de droits) (vérifier en testant d'abord
dans une appli interactive .NET).

Patrice

--

"Claude Cap" a écrit dans le message de
news:
> Bonjour,
> Je cherche à lancer une sauvegarde de base de données via la


l'utilitaire
> osql en ASP .NET.
>
> Pour cela j'utilise, Process.Start pour lancer la ligne de commande.
Voici
> un exemple de code :
>
> string commandName = "osql";
> string arguments = " -U sa -P sa -S (local) -Q "BACKUP DATABASE BDTEST


TO
> DISK ='C:BTESTBackup.dat'"";
>
> En commande DOS, cela fonctionne correctement, mais en ASP .NET j'ai le
> message d'erreur suivant :
>
> "L'application n'a pas réussi à s'initialiser correctement


(0xc00000142).
> Cliquez sur Ok pour arrêter l'application."
>
> Voici ce que j'ai tenté pour le moment :
>
> -> Au niveau ACL du disque j'ai rajouté le contrôle total au user


ASP.NET.
> -> Dans IIS sur mon site j'ai tous coché dans les options de répertoire


de
> base (lecure, écriture, ....) / en Autorisation d'éxecution j'ai mis
> "Scripts et exécutables" / en Protection d'application j'ai mis "Faible
> (Processus IIS)"
> -> Dans les options d'internet explorer, onglet sécurité j'ai mis toutes
les
> zones à niveau de sécurité faibles.
>
> Je ne pense donc pas que ce soit un problème de sécurité.
> Quelq'un aurait-il une idée ?
> Merci
>
>




Avatar
Bonjour,

ne serait il pas plus simple d'utiliser des procédures stockées ? parce que
si osql est mal installé et qu'il plante on est sur qu'il n'y a pas de
sauvegarde et on est pas sur de s'en rendre compte alors que si on plante
sur une proc stock c'est qu'on est planté sur sql server autant dire que ça
on doit le savoir de suite

Eventuellement créer un DTS et l'invoquer par proc stock

Pour ton plantage est ce que le Compte ASPNET a les droits sur serverbackup
? et les droits d'administrateur sur ta base de données je pense que le
problème a pu se produire au niveau des droits utilisateur défini dans sql
server plutot

Normale que ça passe sous DOS tu devais être loggué en tant qu'admin de la
machine topo tu avais les bon droits pour sql server

Sebastien


"Claude Cap" a écrit dans le message de
news:
Bonjour,
Je cherche à lancer une sauvegarde de base de données via la l'utilitaire
osql en ASP .NET.

Pour cela j'utilise, Process.Start pour lancer la ligne de commande.


Voici
un exemple de code :

string commandName = "osql";
string arguments = " -U sa -P sa -S (local) -Q "BACKUP DATABASE BDTEST TO
DISK ='C:BTESTBackup.dat'"";

En commande DOS, cela fonctionne correctement, mais en ASP .NET j'ai le
message d'erreur suivant :

"L'application n'a pas réussi à s'initialiser correctement (0xc00000142).
Cliquez sur Ok pour arrêter l'application."

Voici ce que j'ai tenté pour le moment :

-> Au niveau ACL du disque j'ai rajouté le contrôle total au user ASP.NET.
-> Dans IIS sur mon site j'ai tous coché dans les options de répertoire de
base (lecure, écriture, ....) / en Autorisation d'éxecution j'ai mis
"Scripts et exécutables" / en Protection d'application j'ai mis "Faible
(Processus IIS)"
-> Dans les options d'internet explorer, onglet sécurité j'ai mis toutes


les
zones à niveau de sécurité faibles.

Je ne pense donc pas que ce soit un problème de sécurité.
Quelq'un aurait-il une idée ?
Merci




Avatar
Bonjour,

ne serait il pas plus simple d'utiliser des procédures stockées ? parce que
si osql est mal installé et qu'il plante on est sur qu'il n'y a pas de
sauvegarde et on est pas sur de s'en rendre compte alors que si on plante
sur une proc stock c'est qu'on est planté sur sql server autant dire que ça
on doit le savoir de suite

Eventuellement créer un DTS et l'invoquer par proc stock

Pour ton plantage est ce que le Compte ASPNET a les droits sur serverbackup
? et les droits d'administrateur sur ta base de données je pense que le
problème a pu se produire au niveau des droits utilisateur défini dans sql
server plutot

Normale que ça passe sous DOS tu devais être loggué en tant qu'admin de la
machine topo tu avais les bon droits pour sql server

Sebastien


"Claude Cap" a écrit dans le message de
news:
Bonjour,
Je cherche à lancer une sauvegarde de base de données via la l'utilitaire
osql en ASP .NET.

Pour cela j'utilise, Process.Start pour lancer la ligne de commande.


Voici
un exemple de code :

string commandName = "osql";
string arguments = " -U sa -P sa -S (local) -Q "BACKUP DATABASE BDTEST TO
DISK ='C:BTESTBackup.dat'"";

En commande DOS, cela fonctionne correctement, mais en ASP .NET j'ai le
message d'erreur suivant :

"L'application n'a pas réussi à s'initialiser correctement (0xc00000142).
Cliquez sur Ok pour arrêter l'application."

Voici ce que j'ai tenté pour le moment :

-> Au niveau ACL du disque j'ai rajouté le contrôle total au user ASP.NET.
-> Dans IIS sur mon site j'ai tous coché dans les options de répertoire de
base (lecure, écriture, ....) / en Autorisation d'éxecution j'ai mis
"Scripts et exécutables" / en Protection d'application j'ai mis "Faible
(Processus IIS)"
-> Dans les options d'internet explorer, onglet sécurité j'ai mis toutes


les
zones à niveau de sécurité faibles.

Je ne pense donc pas que ce soit un problème de sécurité.
Quelq'un aurait-il une idée ?
Merci




Avatar
Claude Cap
Merci à tous,
Je viens de tester SQL DMO et cela fonctionne très bien.

Faute de temp (déploiement en cours) je chercherais à savoir plus tard ce
qui a coincé.

"Claude Cap" a écrit dans le message de
news:
Bonjour,
Je cherche à lancer une sauvegarde de base de données via la l'utilitaire
osql en ASP .NET.

Pour cela j'utilise, Process.Start pour lancer la ligne de commande.


Voici
un exemple de code :

string commandName = "osql";
string arguments = " -U sa -P sa -S (local) -Q "BACKUP DATABASE BDTEST TO
DISK ='C:BTESTBackup.dat'"";

En commande DOS, cela fonctionne correctement, mais en ASP .NET j'ai le
message d'erreur suivant :

"L'application n'a pas réussi à s'initialiser correctement (0xc00000142).
Cliquez sur Ok pour arrêter l'application."

Voici ce que j'ai tenté pour le moment :

-> Au niveau ACL du disque j'ai rajouté le contrôle total au user ASP.NET.
-> Dans IIS sur mon site j'ai tous coché dans les options de répertoire de
base (lecure, écriture, ....) / en Autorisation d'éxecution j'ai mis
"Scripts et exécutables" / en Protection d'application j'ai mis "Faible
(Processus IIS)"
-> Dans les options d'internet explorer, onglet sécurité j'ai mis toutes


les
zones à niveau de sécurité faibles.

Je ne pense donc pas que ce soit un problème de sécurité.
Quelq'un aurait-il une idée ?
Merci




Avatar
Claude Cap
Merci à tous,
Je viens de tester SQL DMO et cela fonctionne très bien.

Faute de temp (déploiement en cours) je chercherais à savoir plus tard ce
qui a coincé.

"Claude Cap" a écrit dans le message de
news:
Bonjour,
Je cherche à lancer une sauvegarde de base de données via la l'utilitaire
osql en ASP .NET.

Pour cela j'utilise, Process.Start pour lancer la ligne de commande.


Voici
un exemple de code :

string commandName = "osql";
string arguments = " -U sa -P sa -S (local) -Q "BACKUP DATABASE BDTEST TO
DISK ='C:BTESTBackup.dat'"";

En commande DOS, cela fonctionne correctement, mais en ASP .NET j'ai le
message d'erreur suivant :

"L'application n'a pas réussi à s'initialiser correctement (0xc00000142).
Cliquez sur Ok pour arrêter l'application."

Voici ce que j'ai tenté pour le moment :

-> Au niveau ACL du disque j'ai rajouté le contrôle total au user ASP.NET.
-> Dans IIS sur mon site j'ai tous coché dans les options de répertoire de
base (lecure, écriture, ....) / en Autorisation d'éxecution j'ai mis
"Scripts et exécutables" / en Protection d'application j'ai mis "Faible
(Processus IIS)"
-> Dans les options d'internet explorer, onglet sécurité j'ai mis toutes


les
zones à niveau de sécurité faibles.

Je ne pense donc pas que ce soit un problème de sécurité.
Quelq'un aurait-il une idée ?
Merci