sql server里连接远程服务器,并进行创建和删除新数据库
sql server里连接远程服务器,并进行创建和删除新
一、创建新库
/*
测试 在sql2005中通过查询分析器,连接到sql2000,并创建了 tmpdb 库:成功
p_CreateDB 'tmpdb1','data','sa','sa'
*/
-----------------------创建存储过程开始--------------------
if object_id('p_CreateDB') is not null
drop procedure p_CreateDB
go
CREATE PROCEDURE p_CreateDB
@Des_DB sysname, --目标数据库
@ServerName sysname=N'', --服务器名
@UserName sysname=N'', --用户名,不指定则表示使用 Windows 身份登录
@pwd sysname=N'' --密码
AS
SET NOCOUNT ON
DECLARE @srvid int,--服务器的对象
@dbsid int,
@Dbid int,--新建数据库对象
@DBFile int,--新建数据库DB文件
@LogFile int,--新建数据库Log文件
@CmdStr nvarchar(4000)
declare @err int,@src varchar(255), @desc varchar(255) --错误处理变量
IF ISNULL(@ServerName,N'')=N'' SET @ServerName=@@ServerName --默认为本地数据库
--创建sqldmo对象·
EXEC @err=sp_oacreate 'sqldmo.sqlserver',@srvid OUT
IF @err0 GOTO lb_Err
--连接服务器
IF ISNULL(@UserName,N'')=N'' --使用 Windows 身份登录
BEGIN
EXEC @err=sp_oasetproperty @srvid,'loginsecure',-1
IF @err0 GOTO lb_Err
EXEC @err=sp_oamethod @srvid,'connect',NULL,@ServerName
END
ELSE
EXEC @err=sp_oamethod @srvid,'connect',NULL,@ServerName,@UserName,@pwd
IF @err0 GOTO lb_Err
--新数据库对象创建
EXEC @err=sp_oacreate 'SQLDMO.Database',@Dbid OUT
IF @err0 GOTO lb_Err
EXEC @err=sp_oasetproperty @Dbid, 'Name',@Des_DB
IF @err0 GOTO lb_Err
/*
---这里可以设置数据文件与日志文件的属性,不写就由sql server默认
--新数据库DB文件对象创建,并设置属性
EXEC @err=sp_oacreate 'SQLDMO.DBFile',@DBFile OUT
IF @err0 GOTO lb_Err
EXEC @err=sp_oasetproperty @DBFile, 'Name','tmpfile'
IF @err0 GOTO lb_Err
EXEC @err=sp_oasetproperty @DBFile, 'PhysicalName','c:tmp.mdf'
IF @err0 GOTO lb_Err
EXEC @err=sp_oasetproperty @DBFile, 'PrimaryFile','true'
IF @err0 GOTO lb_Err
EXEC @err=sp_oasetproperty @DBFile, 'FileGrowthType',0
IF @err0 GOTO lb_Err
EXEC @err=sp_oasetproperty @DBFile, 'FileGrowth',1
IF @err0 GOTO lb_Err
--新数据库对象加入DB文件
EXEC @err = sp_OAMethod @Dbid,'FileGrou.Item("primary").DBFiles.Add',null,@DBFile
IF @err0 GOTO lb_Err
--新数据库LOG文件对象创建,并设置属性
EXEC @err=sp_oacreate 'SQLDMO.LogFile',@LogFile OUT
IF @err0 GOTO lb_Err
EXEC @err=sp_oasetproperty @LogFile, 'Name','tmplg'
IF @err0 GOTO lb_Err
EXEC @err=sp_oasetproperty @LogFile, 'PhysicalName','c:tmp.ldf'
--新数据库对象加入DB文件
EXEC @err = sp_OAMethod @Dbid,'TransactionLog.LogFiles.Add',null,@LogFile
IF @err0 GOTO lb_Err
*/
--在服务器上创建 新数据库
EXEC @err = sp_OAMethod @srvid,'Databases.Add',null,@dbid
IF @err0 GOTO lb_Err
/*
EXEC @err= sp_OAGetProperty @srvid, 'Databases', @dbsid OUT
IF @err0 GOTO lb_Err
SET @CmdStr = 'Add'
EXEC @err = sp_OAMethod @dbsid,@CmdStr,null,@dbid
*/
--结束
SET @err=0
GOTO lb_Exit
--错误处理
lb_Err:
EXEC sp_oageterrorinfo NULL, @src OUT, @desc OUT
EXEC sp_OADestroy @LogFile
EXEC sp_OADestroy @DBFile
EXEC sp_OADestroy @Dbsid
EXEC sp_OADestroy @Dbid
EXEC sp_OADestroy @srvid
EXEC @err=sp_oamethod @srvid,'DisConnect'
RAISERROR(N'错误编号 %#x, 错误源 "%s", 错误描述 "%s"',16,1,@err,@src,@desc)
RETURN -1
lb_Exit:
EXEC sp_OADestroy @LogFile
EXEC sp_OADestroy @DBFile
EXEC sp_OADestroy @Dbsid
EXEC sp_OADestroy @Dbid
EXEC sp_OADestroy @srvid
EXEC @err=sp_oamethod @srvid,'DisConnect'
RETURN @err
GO
二、删除数据库
/*
测试
p_DropDB 'tmpdb1','data','sa','sa'
*/
if object_id('p_DropDB') is not null
drop procedure p_DropDB
go
CREATE PROCEDURE p_DropDB
@Des_DB sysname, --目标数据库
@ServerName sysname=N'', --服务器名
@UserName sysname=N'', --用户名,不指定则表示使用 Windows 身份登录
@pwd sysname=N'' --密码
AS
SET NOCOUNT ON
DECLARE @srvid int,--服务器的对象
@dbsid int,
@Dbid int,--数据库对象
@CmdStr nvarchar(4000)
declare @err int,@src varchar(255), @desc varchar(255) --错误处理变量
IF ISNULL(@ServerName,N'')=N'' SET @ServerName=@@ServerName --默认为本地数据库
--创建sqldmo对象·
EXEC @err=sp_oacreate 'sqldmo.sqlserver',@srvid OUT
IF @err0 GOTO lb_Err
--连接服务器
IF ISNULL(@UserName,N'')=N'' --使用 Windows 身份登录
BEGIN
EXEC @err=sp_oasetproperty @srvid,'loginsecure',-1
IF @err0 GOTO lb_Err
EXEC @err=sp_oamethod @srvid,'connect',NULL,@ServerName
END
ELSE
EXEC @err=sp_oamethod @srvid,'connect',NULL,@ServerName,@UserName,@pwd
IF @err0 GOTO lb_Err
--删除数据库
--这两个都可以删除
EXEC @err = sp_OAMethod @srvid,'KillDatabase',null,@Des_DB
IF @err0 GOTO lb_Err
/*
--
EXEC @err = sp_OAMethod @srvid,'Databases.Remove',null,@Des_DB
IF @err0 GOTO lb_Err
*/
--结束
SET @err=0
GOTO lb_Exit
--错误处理
lb_Err:
EXEC sp_oageterrorinfo NULL, @src OUT, @desc OUT
EXEC sp_OADestroy @Dbsid
EXEC sp_OADestroy @Dbid
EXEC sp_OADestroy @srvid
EXEC @err=sp_oamethod @srvid,'DisConnect'
RAISERROR(N'错误编号 %#x, 错误源 "%s", 错误描述 "%s"',16,1,@err,@src,@desc)
RETURN -1
lb_Exit:
EXEC sp_OADestroy @Dbsid
EXEC sp_OADestroy @Dbid
EXEC sp_OADestroy @srvid
EXEC @err=sp_oamethod @srvid,'DisConnect'
RETURN @err
GO

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Mit dem Windows-Remotedesktopdienst können Benutzer aus der Ferne auf Computer zugreifen, was für Personen, die aus der Ferne arbeiten müssen, sehr praktisch ist. Es können jedoch Probleme auftreten, wenn Benutzer keine Verbindung zum Remotecomputer herstellen können oder Remotedesktop die Identität des Computers nicht authentifizieren kann. Dies kann durch Netzwerkverbindungsprobleme oder einen Fehler bei der Zertifikatsüberprüfung verursacht werden. In diesem Fall muss der Benutzer möglicherweise die Netzwerkverbindung überprüfen, sicherstellen, dass der Remote-Computer online ist, und versuchen, die Verbindung wiederherzustellen. Außerdem ist es wichtig, sicherzustellen, dass die Authentifizierungsoptionen des Remotecomputers richtig konfiguriert sind, um das Problem zu lösen. Solche Probleme mit den Windows-Remotedesktopdiensten können normalerweise durch sorgfältiges Überprüfen und Anpassen der Einstellungen behoben werden. Aufgrund eines Zeit- oder Datumsunterschieds kann Remote Desktop die Identität des Remotecomputers nicht überprüfen. Bitte stellen Sie Ihre Berechnungen sicher

HQL und SQL werden im Hibernate-Framework verglichen: HQL (1. Objektorientierte Syntax, 2. Datenbankunabhängige Abfragen, 3. Typsicherheit), während SQL die Datenbank direkt betreibt (1. Datenbankunabhängige Standards, 2. Komplexe ausführbare Datei). Abfragen und Datenmanipulation).

Wie schließe ich die Körperfettwaage an? Keep verfügt über eine speziell entwickelte Körperfettwaage, aber die meisten Benutzer wissen nicht, wie sie die Körperfettwaage anschließen sollen Editor bringt zu den Nutzern, interessierte Nutzer kommen und schauen! So schließen Sie die Keep-Körperfettwaage an: 1. Öffnen Sie zunächst die Keep-Software, gehen Sie zur Hauptseite, klicken Sie auf [Mein] in der unteren rechten Ecke und wählen Sie [Smart Hardware] aus. 2. Klicken Sie dann auf der Seite „Meine Smart-Geräte“. Klicken Sie auf die Schaltfläche [Gerät hinzufügen] in der Mitte. 3 Wählen Sie dann das Gerät aus, dem Sie eine Schnittstelle hinzufügen möchten. Wählen Sie dann [Intelligente Körperfett-/Gewichtswaage] aus. 4. Klicken Sie dann auf der Seite zur Auswahl des Gerätemodells auf [Körperfettwaage behalten]. Option 5. Schließlich in der unten gezeigten Benutzeroberfläche unten [Jetzt hinzufügen].

„Verwendung der Divisionsoperation in OracleSQL“ In OracleSQL ist die Divisionsoperation eine der häufigsten mathematischen Operationen. Während der Datenabfrage und -verarbeitung können uns Divisionsoperationen dabei helfen, das Verhältnis zwischen Feldern zu berechnen oder die logische Beziehung zwischen bestimmten Werten abzuleiten. In diesem Artikel wird die Verwendung der Divisionsoperation in OracleSQL vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Zwei Arten von Divisionsoperationen in OracleSQL In OracleSQL können Divisionsoperationen auf zwei verschiedene Arten durchgeführt werden.

Oracle und DB2 sind zwei häufig verwendete relationale Datenbankverwaltungssysteme, die jeweils über ihre eigene, einzigartige SQL-Syntax und -Eigenschaften verfügen. In diesem Artikel werden die SQL-Syntax von Oracle und DB2 verglichen und unterschieden und spezifische Codebeispiele bereitgestellt. Datenbankverbindung Verwenden Sie in Oracle die folgende Anweisung, um eine Verbindung zur Datenbank herzustellen: CONNECTusername/password@database. In DB2 lautet die Anweisung zum Herstellen einer Verbindung zur Datenbank wie folgt: CONNECTTOdataba

Interpretation der dynamischen SQL-Tags von MyBatis: Detaillierte Erläuterung der Verwendung von Set-Tags. MyBatis ist ein hervorragendes Persistenzschicht-Framework. Es bietet eine Fülle dynamischer SQL-Tags und kann Datenbankoperationsanweisungen flexibel erstellen. Unter anderem wird das Set-Tag zum Generieren der SET-Klausel in der UPDATE-Anweisung verwendet, die sehr häufig bei Aktualisierungsvorgängen verwendet wird. In diesem Artikel wird die Verwendung des Set-Tags in MyBatis ausführlich erläutert und seine Funktionalität anhand spezifischer Codebeispiele demonstriert. Was ist Set-Tag? Set-Tag wird in MyBati verwendet

Die Rolle eines DHCP-Relays besteht darin, empfangene DHCP-Pakete an einen anderen DHCP-Server im Netzwerk weiterzuleiten, auch wenn sich die beiden Server in unterschiedlichen Subnetzen befinden. Durch die Verwendung eines DHCP-Relays können Sie einen zentralen DHCP-Server im Netzwerkzentrum bereitstellen und ihn verwenden, um allen Netzwerksubnetzen/VLANs dynamisch IP-Adressen zuzuweisen. Dnsmasq ist ein häufig verwendeter DNS- und DHCP-Protokollserver, der als DHCP-Relay-Server konfiguriert werden kann, um die Verwaltung dynamischer Hostkonfigurationen im Netzwerk zu unterstützen. In diesem Artikel zeigen wir Ihnen, wie Sie dnsmasq als DHCP-Relay-Server konfigurieren. Inhaltsthemen: Netzwerktopologie Konfigurieren statischer IP-Adressen auf einem DHCP-Relay D auf einem zentralen DHCP-Server

Bei der Netzwerkdatenübertragung spielen IP-Proxyserver eine wichtige Rolle. Sie helfen Benutzern dabei, ihre echten IP-Adressen zu verbergen, ihre Privatsphäre zu schützen und die Zugriffsgeschwindigkeit zu verbessern. In diesem Artikel stellen wir den Best-Practice-Leitfaden zum Aufbau eines IP-Proxyservers mit PHP vor und stellen spezifische Codebeispiele bereit. Was ist ein IP-Proxyserver? Ein IP-Proxyserver ist ein Zwischenserver zwischen dem Benutzer und dem Zielserver. Er fungiert als Übertragungsstation zwischen dem Benutzer und dem Zielserver und leitet die Anforderungen und Antworten des Benutzers weiter. Durch die Verwendung eines IP-Proxyservers
