通过命令行来部署MSDE数据库

来源:互联网 发布:sql注入代码 编辑:程序博客网 时间:2024/05/21 18:37

在客户的机器上安装msde后,由于没有界面很难通过UI来进行配置了,所以只能通过各种各样的方法来取代UI界面

打开,TCP/IP网络的1433端口
1.直观的方法,执行svrnetcn.exe   进行配置

  可以通过在程序中操作注册表来实现位置:  
  HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/SuperSocketNetLib  
   
  键值:     ProtocolList  
  类型:     REG_MULTI_SZ  
  这里记录了启用的协议,例如:   np   tct     表示启用了:   命名管理和TCP/IP协议  
   
  位置:  
  HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/SuperSocketNetLib/Tcp  
   
  键值:   TcpPort  
  类型:   REG_SZ  
  这里是设置的端口号,默认值是:   1433  

2.修改登录方式为混全验证模式,默认安装的情况下,MSDE是不是此种模式
   找到下列任一注册表项
HKEY_LOCAL_MACHINE/Software/Microsoft/MSSqlserver/MSSqlServer
- 或 -

HKEY_LOCAL_MACHINE/Software/Microsoft/Microsoft SQL Server/<Instance Name>/MSSQLServer/
 在右邊窗格中,按兩下 [LoginMode] 子機碼。
  在 [DWORD 編輯程式] 對話方塊中,將此機碼的值設定為 1。( 当启用[混合模式]验证,这个值为2。)請確定已選取 [Hex] 選項,然後按一下 [確定]。
 重新啟動 MSSQLSERVER与SQLSERVERAgent 服务。


  在承载您要连接的 MSDE 2000 实例的计算机上打开一个命令窗口。
3. 键入下面的命令,然后按 ENTER 键:

osql -E

这可以通过使用 Windows 身份验证将您连接到 MSDE 2000 的本地默认实例。
如要连接到 MSDE 2000 的一个命名实例,请键入:
osql -E -S servername/instancename
如果您收到了下面的错误消息,表明 MSDE 2000 可能未在运行,或者您可能为安装的 MSDE 2000 的命名实例提供了错误的名称:
[Shared Memory]SQL Server does not exist or access denied.
[Shared Memory]ConnectionOpen (Connect()).
如果您成功连接到了该服务器,就会出现下面的提示:
   1>           
此提示表示 osql 已启动。现在,您可以交互输入 Transact-SQL 语句,运行结果将出现在命令提示行上。 

如何更改登录密码
如要修改登录密码,请使用 sp_password 存储过程。下面的示例将“test”登录的密码从“ok”更改为“hello”:
EXEC sp_password 'ok', 'hello','test'


附加和分离数据库
可以分离一个数据库的数据和事务日志文件然后将其重新附加到另一个服务器,或重新附加到同一服务器。分离一个数据库虽然从 SQL Server 中删除了该数据库,但构成该数据库的数据和事务日志文件没有任何改动。 然后您可以使用这些数据和事务日志文件将该数据库附加到任何 SQL Server 实例,其中包括从中分离该数据库的那一服务器。这使该数据库能够以与在被分离时完全相同的状态供在其他位置使用。有关更多信息,请参见 “SQL Server 联机图书”中的“Attaching and Detaching a Database”主题。

下面的示例将一个名为 mydb 的数据库从 SQL Server 的当前实例中分离出来:
EXEC sp_detach_db 'mydb'

只有 sysadmin 固定服务器角色的成员才可以运行 sp_detach_db 存储过程。有关 sp_detach_db 存储过程的更多信息,请参见“SQL Server 联机图书”中的“sp_detach_db, Transact-SQL Reference”主题。

下面的示例将来自名为 mydb 的数据库的两个文件附加到 SQL Server 的当前实例:
EXEC sp_attach_db @dbname = N'mydb',
@filename1 = N'C:/MSDE/Backup/mydb.mdf',
@filename2 = N'C:/MSDE/Backup/mydb.ldf'