HOW TO:使用 Osql 工具管理 SQL Server 桌面引擎 (MS

作者:分分快三全天计划网站

越来越多音信

在本文中,服务器 A 和服务器 B 是莫衷一是的服务器。别的,服务器 A 和服务器 B 都在运作 SQL Server 二〇〇七。

在将二个数据库从服务器 A 上的 SQL Server 实例移动到服务器 B 上的 SQL Server 实例之后,客户或许无法登陆到移至服务器 B 上的数据库。並且,客户大概会接受以下新闻:

顾客“MyUser”登入失利。(Microsoft SQL Server,错误:18456)

并发此主题材料的因由是,您未将登入和密码从服务器 A 上的 SQL Server 实例传输到服务器 B 上的 SQL Server 实例。

若要将登陆和密码从服务器 A 上的 SQL Server 实例传输到服务器 B 上的 SQL Server 实例,请推行以下步骤:

  1. 在服务器 A 上,运转 SQL Server Management Studio,然后连接到要从当中移动数据库的 SQL Server 实例。
  2. 张开新的询问编辑器窗口,然后运行以下脚本。

    USE master
    GO
    IF OBJECT_ID ('sp_hexadecimal') IS NOT NULL
      DROP PROCEDURE sp_hexadecimal
    GO
    CREATE PROCEDURE sp_hexadecimal
        @binvalue varbinary(256),
        @hexvalue varchar (514) OUTPUT
    AS
    DECLARE @charvalue varchar (514)
    DECLARE @i int
    DECLARE @length int
    DECLARE @hexstring char(16)
    SELECT @charvalue = '0x'
    SELECT @i = 1
    SELECT @length = DATALENGTH (@binvalue)
    SELECT @hexstring = '0123456789ABCDEF'
    WHILE (@i <= @length)
    BEGIN
      DECLARE @tempint int
      DECLARE @firstint int
      DECLARE @secondint int
      SELECT @tempint = CONVERT(int, SUBSTRING(@binvalue,@i,1))
      SELECT @firstint = FLOOR(@tempint/16)
      SELECT @secondint = @tempint - (@firstint*16)
      SELECT @charvalue = @charvalue  
        SUBSTRING(@hexstring, @firstint 1, 1)  
        SUBSTRING(@hexstring, @secondint 1, 1)
      SELECT @i = @i   1
    END
    
    SELECT @hexvalue = @charvalue
    GO
    
    IF OBJECT_ID ('sp_help_revlogin') IS NOT NULL
      DROP PROCEDURE sp_help_revlogin
    GO
    CREATE PROCEDURE sp_help_revlogin @login_name sysname = NULL AS
    DECLARE @name sysname
    DECLARE @type varchar (1)
    DECLARE @hasaccess int
    DECLARE @denylogin int
    DECLARE @is_disabled int
    DECLARE @PWD_varbinary  varbinary (256)
    DECLARE @PWD_string  varchar (514)
    DECLARE @SID_varbinary varbinary (85)
    DECLARE @SID_string varchar (514)
    DECLARE @tmpstr  varchar (1024)
    DECLARE @is_policy_checked varchar (3)
    DECLARE @is_expiration_checked varchar (3)
    
    DECLARE @defaultdb sysname
    
    IF (@login_name IS NULL)
      DECLARE login_curs CURSOR FOR
    
          SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM 
    sys.server_principals p LEFT JOIN sys.syslogins l
          ON ( l.name = p.name ) WHERE p.type IN ( 'S', 'G', 'U' ) AND p.name <> 'sa'
    ELSE
      DECLARE login_curs CURSOR FOR
    
          SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name, l.hasaccess, l.denylogin FROM 
    sys.server_principals p LEFT JOIN sys.syslogins l
          ON ( l.name = p.name ) WHERE p.type IN ( 'S', 'G', 'U' ) AND p.name = @login_name
    OPEN login_curs

    FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin
    IF (@@fetch_status = -1)
    BEGIN
      PRINT 'No login(s) found.'
      CLOSE login_curs
      DEALLOCATE login_curs
      RETURN -1
    END
    SET @tmpstr = '/* sp_help_revlogin script '
    PRINT @tmpstr
    SET @tmpstr = '** Generated '   CONVERT (varchar, GETDATE())   ' on '   @@SERVERNAME   ' */'
    PRINT @tmpstr
    PRINT ''
    WHILE (@@fetch_status <> -1)
    BEGIN
      IF (@@fetch_status <> -2)
      BEGIN
        PRINT ''
        SET @tmpstr = '-- Login: '   @name
        PRINT @tmpstr
        IF (@type IN ( 'G', 'U'))
        BEGIN -- NT authenticated account/group

          SET @tmpstr = 'CREATE LOGIN '   QUOTENAME( @name )   ' FROM WINDOWS WITH DEFAULT_DATABASE = ['   @defaultdb   ']'
        END
        ELSE BEGIN -- SQL Server authentication
            -- obtain password and sid
                SET @PWD_varbinary = CAST( LOGINPROPERTY( @name, 'PasswordHash' ) AS varbinary (256) )
            EXEC sp_hexadecimal @PWD_varbinary, @PWD_string OUT
            EXEC sp_hexadecimal @SID_varbinary,@SID_string OUT

            -- obtain password policy state
            SELECT @is_policy_checked = CASE is_policy_checked WHEN 1 THEN 'ON' WHEN 0 THEN 'OFF' ELSE NULL END FROM sys.sql_logins WHERE name = @name
            SELECT @is_expiration_checked = CASE is_expiration_checked WHEN 1 THEN 'ON' WHEN 0 THEN 'OFF' ELSE NULL END FROM sys.sql_logins WHERE name = @name

                SET @tmpstr = 'CREATE LOGIN '   QUOTENAME( @name )   ' WITH PASSWORD = '   @PWD_string   ' HASHED, SID = '   @SID_string   ', DEFAULT_DATABASE = ['   @defaultdb   ']'

            IF ( @is_policy_checked IS NOT NULL )
            BEGIN
              SET @tmpstr = @tmpstr   ', CHECK_POLICY = '   @is_policy_checked
            END
            IF ( @is_expiration_checked IS NOT NULL )
            BEGIN
              SET @tmpstr = @tmpstr   ', CHECK_EXPIRATION = '   @is_expiration_checked
            END
        END
        IF (@denylogin = 1)
        BEGIN -- login is denied access
          SET @tmpstr = @tmpstr   '; DENY CONNECT SQL TO '   QUOTENAME( @name )
        END
        ELSE IF (@hasaccess = 0)
        BEGIN -- login exists but does not have access
          SET @tmpstr = @tmpstr   '; REVOKE CONNECT SQL TO '   QUOTENAME( @name )
        END
        IF (@is_disabled = 1)
        BEGIN -- login is disabled
          SET @tmpstr = @tmpstr   '; ALTER LOGIN '   QUOTENAME( @name )   ' DISABLE'
        END
        PRINT @tmpstr
      END

      FETCH NEXT FROM login_curs INTO @SID_varbinary, @name, @type, @is_disabled, @defaultdb, @hasaccess, @denylogin
       END
    CLOSE login_curs
    DEALLOCATE login_curs
    RETURN 0
    GO

注意:此脚本会在“master”数据库中创建两个存储过程。两个存储过程分别命名为“sp_hexadecimal”存储过程和“sp_help_revlogin”存储过程。
  1. 运作上面包车型地铁言语。

    EXEC sp_help_revlogin
    

    由“sp_help_revlogin”存款和储蓄进度生成的出口脚本是登陆脚本。此登陆脚本创立具备原始安全标志符 (SID) 和原始密码的登陆。

  2. 在服务器 B 上,运行 SQL Server Management Studio,然后连接到您将数据库移动到的 SQL Server 实例。

    至关重要音信:在实践步骤 5 在此以前,请检查“备注”后生可畏节中的音信。

  3. 打开新的查询编辑器窗口,然后运转步骤 3 中生成的出口脚本。

三番五次到 SQL Server 桌面引擎 (MSDE 二零零一)

如要连接到 MSDE 二零零三,请遵照下列步骤操作:

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

osql -E

这可以通过使用 Windows 身份验证将您连接到 MSDE 2000 的本地默认实例。

如要连接到 MSDE 2000 的一个命名实例,请键入:

osql -E -S servernameinstancename

如果您收到了下面的错误消息,表明 MSDE 2000 可能未在运行,或者您可能为安装的 MSDE 2000 的命名实例提供了错误的名称:
[Shared Memory]SQL Server does not exist or access denied.
[Shared Memory]ConnectionOpen (Connect()).
如果您成功连接到了该服务器,就会出现下面的提示:

   1>
            
此提示表示 osql 已启动。现在,您可以交互输入 Transact-SQL 语句,运行结果将出现在命令提示行上。

图片 1回到最上部

备注

在对服务器 B 的实例上运行输出脚本从前,请检查以下音讯:

  • 周全检查输出脚本。假使服务器 A 和服务器 B 处在分裂的域中,则必得更改出口脚本。然后,必需在 CREATE LOGIN 语句中利用新的域名来替换原始域名。新的域中授予访问权限的集成登录不会具有与原始域中的登陆相仿的 SID。因此,客商会从这几个登入中孤立出来。 有关怎样消除这一个孤立客户的越多音讯,请单击上边的稿子编号,以查看 Microsoft 知识库中相应的小说:
[240872 ](https://support.microsoft.com/zh-cn/help/240872)如何解决在运行
SQL Server 的服务器之间移动数据库时的权限问题  

如果服务器 A 和服务器 B 处于同一域中,则使用相同的
SID。因此,用户不可能是孤立的。
  • 在出口脚本中,通过动用加密密码来创制登入。那是因为 CREATE LOGIN 语句中接收了 HASHED 参数。此参数内定在 PASSWO奥迪Q5D 参数后输入的密码已通过哈希管理。
  • 私下认可情状下,唯有“sysadmin”固定服务器角色的积极分子可以从“sys.server_principals”视图运营SELECT 语句。除非“sysadmin”固定服务器角色的分子付与顾客必得的权杖,不然客商不能够创立或运转输出脚本。
  • 本文中的步骤不会为一定登录传输私下认可数据库音信。这是因为默许数据库不容许三番一回存在于服务器 B 上。若要定义有些登入的暗许数据库,请使用 ALTEQX56 LOGIN 语句,并传播登陆名和私下认可数据库作为参数。
  • 服务器 A 的排序依次可能不区分朗朗上口写,而服务器 B 的排序依次可能区分抑扬顿挫写。在这里情状下,当你将登入和密码传输到服务器 B 上的实例之后,必得以大写字母的情势来键入密码中的全体字母。

    恐怕,服务器 A 的排序依次恐怕区分朗朗上口写,而服务器 B 的排序依次恐怕不区分朗朗上口写。在这里情状下,您将无法接受传输到服务器 B 上的实例的记名和密码实行登陆,除非满足上面包车型客车条件之大器晚成:

    • 本来密码不包蕴字母。
    • 原有密码中的全体字母都以大写字母。

    服务器 A 和服务器 B 的排序依次恐怕都分别轻重缓急写,或然或许都不区分朗朗上口写。在这里些处境下,顾客不会超过标题。

  • 已经身处服务器 B 上的实例中的登入可能全数与输出脚本中的有个别名称相通的名目。在这里景况下,当对服务器 B 上的实例运维输出脚本时,会收下到上面包车型地铁荒诞音讯: 新闻 15025,品级 16,状态 1,行 1
    服务器主体 'MyLogin' 已存在。

    看似地,已经位于服务器 B 上的实例中的登入恐怕全部与出口脚本中的有个别SID 相像的 SID。在那境况下,当对服务器 B 上的实例运维输出脚本时,会吸收接纳到上面包车型地铁谬误音信: 消息 15433,等第 16,状态 1,行 1
    所提供的参数 sid 正在接收。

    据此,必得施行以下操作:

    1. 全面检查输出脚本。
    2. 检查服务器 B 上的实例中的“sys.server_principals”视图的内容。
    3. 相应地减轻那些错误消息。
  • 在 SQL Server 二〇〇五 中,登入的 SID 用作达成数据库品级访谈的幼功。三个记名或然在服务器的四个例外数据库中兼有三个差异的 SID。在这情景下,该登入只可以够访谈具有与“sys.server_principals”视图中的 SID 相配的 SID 的数据库。在从多个例外的服务器合并那八个数据库时,或者会现出此主题素材。若要消除此主题材料,可使用 DROP USERT 语句,从具有不相称的 SID 的数据库中手动删除相应的登陆。然后,通过采用 CREATE USE讴歌RDX语句再次增添该登陆。

拜候数据库

在客户连接到 SQL Server 的三个实例后,他们独有在 dbo 付与他们对数据库的访谈权后才得以在数据库中进行活动。您可以利用 sp_grantdbaccess 存款和储蓄进度为新客户向当前数据库中增添多少个安全帐户。上面的亲自去做为叁个称得上Corporate鲍勃J 的 Microsoft Windows NT 的客户向当前数据库增多了三个帐户,并将其取名称为“鲍勃”:

EXEC sp_grantdbaccess 'CorporateBobJ', 'Bob'

sp_adduser 存款和储蓄进程进行与 sp_grantdbaccess 存款和储蓄过程相似的作用。因为饱含 sp_adduser 存款和储蓄进度是为了向后格外,所以 Microsoft 建议你使用 sp_grantdbacess 存款和储蓄进程。

只有 sysadmin 固定服务器剧中人物、db_accessadmindb_owner 固定数据库角色的成员才方可运作 sp_grantdbaccess 存款和储蓄进程。有关 sp_grantdbaccess 存款和储蓄进度的越来越多音讯,请参见“SQL Server 联机图书”中的“sp_grantdbaccess, Transact-SQL Reference”主题。

简介

本文介绍怎样在不一样服务器上的 Microsoft SQL Server 二零零五实例之间传输登入和密码。

至于怎样在别的版本的 SQL Server 实例之间传输登入和密码的更加的多音信,请单击下边包车型地铁篇章编号,以查看 Microsoft 知识库中相应的稿子:

246133 什么样在 SQL Server 实例之间传输登陆和密码

本页

图片 2概要

图片 3何为 Osql?

图片 4怎么使用 Osql?

图片 5人机联作式输入 Transact-SQL 语句

图片 6提交 Osql 作业

图片 7老是到 SQL Server 桌面引擎 (MSDE 二〇〇一)

图片 8管理 MSDE 2000

图片 9新建登陆帐户

图片 10访谈数据库

图片 11什么转移登陆密码

图片 12创制数据库

图片 13备份和回复数据库

图片 14外加和分手数据库

图片 15参考

参考

有关怎样消除孤立客商难点的越来越多新闻,请访谈以下 Microsoft Developer Network (MSDN) 网址:

至于 CREATE LOGIN 语句的越来越多音信,请访谈上面包车型客车 MSDN 网址:

关于 ALTE卡宴 LOGIN 语句的越多消息,请访问下边包车型大巴 MSDN 网址:

何为 Osql?

osql 工具是三个 Microsoft Windows 32 命令提醒符工具,您能够使用它运转 Transact-SQL 语句和本子文件。osql 工具使用 ODBC 数据库应用程序编制程序接口 (API) 与服务器通信。

图片 16回来最上端

如何接受 Osql?

平常意况下,能够这么使用 osql 工具:

用户通过与使用命令提示符时相似的方式交互输入 Transact-SQL 语句。
用户提交 osql 作业,方法是:
指定单个要运行的 Transact-SQL 语句。 - 或 -

将该工具指向一个包含要运行的 Transact-SQL 语句的脚本文件。

备份和还原数据库

SQL Server 的备份和恢复生机组件为保安存款和储蓄在 SQL Server 数据库中的关键数据提供了叁个重大的保养措施。

通过适当的规划,您能够从繁多故障中回复,富含:

存储媒体故障。
用户错误。
服务器的永久丢失。

此外,备份和死灰复然数据库还会有任什么地点方的用途,举个例子将数据库从贰个服务器复制到另四个服务器。通过从生机勃勃台Computer上备份四个数据库和将此数据库还原到另生机勃勃台微处理机上,您能够异常快方便地构建数据库的别本。

至于数据库备份和恢复生机操作方面包车型地铁越来越多音讯,请参见“SQL Server 联机图书”中的“Backing Up and Restoring Databases”大旨。

下边的亲自过问为二个名称为 mydb的数据库施行完全部据库备份,将此备份命名字为Mydb.bak,然后将此备份存款和储蓄在 C:MsdeBackup 文件夹中。

BACKUP DATABASE mydb TO DISK = 'C:MSDEBackupmydb.bak'

下边包车型大巴言传身教为叁个名叫 mydb 的数据库施行日志备份,将此备份命名字为Mydb_log.bak,然后将其积累在 C:MsdeBackup 文件夹中:

BACKUP LOG mydb TO DISK = 'C:MSDEBackupmydb_log.bak'

BACKUP DATABASE 和 BACKUP LOG 权限暗中认可授予 sysadmin 固定服务器剧中人物甚至 db_ownerdb_backupoperator 固定数据库剧中人物的分子。有关 BACKUP 语句的越来越多消息,请参见“SQL Server 联机图书”中的“BACKUP, Transact-SQL Reference”主旨。

MSDE 包括 SQL Server 代理程序服务用以管理布署的功课。举例,您可以创立并安插三个Transact-SQL 备份作业。SQL Server 代理程序服务管理作业布置。如想查看演示如何在 MSDE 二零零四中动用种种存款和储蓄进程进行和安顿备份的演示代码,请参见上边包车型地铁 Microsoft 知识库文章:

241397 () HOWTO:Back Up a Microsoft Data Engine Database with Transact-SQL

至于 SQL Server 代理程序服务的越来越多消息,请参见“SQL Server 联机图书”中的“SQL Server Agent Service”核心。

备份数据库只是整套进程的贰分之一。知道怎么从备份中还原数据库也特别关键。上边包车型地铁演示将一个名字为 mydb 的数据库从备份文件 C:MsdeBackupMydb.bak 中还原:

RESTORE DATABASE mydb FROM DISK ='C:MSDEBackupmydb.bak'

意气风发旦将在还原的数据库不设有,则客户必需怀有 CREATE DATABASE 权限才足以运作 RESTORE 语句。倘诺该数据库存在,则 RESTORE 权限私下认可授予 sysadmindbcreator 固定服务器剧中人物的成员,以至该数据库的主人 (dbo)。有关 RESTORE 语句的越来越多新闻,请参见“SQL Server 联机图书”中的“RESTORE, Transact-SQL Reference”核心。

那篇随笔中的新闻适用于:
Microsoft SQL Server 2000 Desktop Engine (Windows)

图片 17回到最上部

关键字: 
kbdownload kbhowto kbhowtomaster KB325003

图片 18再次来到顶上部分

Microsoft和/或其各承包商对于为任何指标而在本服务器上公布的文件及有关图形所含新闻的适用性,不作任何声明。 全体该等公事及有关图形均"依样"提供,而不带任何性质的有限支撑。Microsoft和/或其各中间商特此证明,对负有与该等信息有关的作保和法则不辜负任何义务,该等保证和标准包罗关于适合出卖性、符合一定用处、全部权和非侵害权益的持有暗中表示保险和原则。在其余动静下,在由于应用或运维本服务器上的新闻所引起的或与该等使用或运维有关的诉讼中,Microsoft和/或其各中间商就因丧失使用、数据或利益所引致的别的特其余、

新建登陆帐户

未提供实用登入 id 的顾客不可能连接到 SQL Server。可调用 sp_grantlogin 存款和储蓄进程来授权四个 Microsoft Windows 网络帐户(四个组仍旧三个客户帐户卡塔尔国,使之视作三个利用 Windows 身份验证连接到 SQL Server 实例的 SQL Server 登入帐户。下边包车型大巴演示允许三个名称为 CorporateTest 的 Windows NT 顾客连接到 SQL Server 实例:

EXEC sp_grantlogin 'CorporateTest'

只有 sysadminsecurityadmin 固定服务器角色的分子能够运转 sp_grantlogin 存款和储蓄进度。有关那个角色的更加的多消息,请参见“SQL Server 联机图书”中“Roles, SQL Server Architecture”主旨。

有关 sp_grantlogin 存款和储蓄进度的更加多新闻,请参见“SQL Server 联机图书”中的“sp_grantlogin, Transact-SQL Reference”主题。

您可以应用 sp_addlogin 存款和储蓄进程创制四个接纳 SQL Server 身份验证创立SQL Server 连接的新报到帐户。上边包车型客车言传身教为三个名叫“test”的客户创制了贰个密码为“hello”的 SQL Server 登陆:

EXEC sp_addlogin 'test','hello'

只有 sysadminsecurityadmin 固定服务器剧中人物的分子能够运作 sp_addlogin 存款和储蓄进程。有关 sp_addlogin 存储进程的更加多音讯,请参见“SQL Server 联机图书”中的“sp_addlogin, Transact-SQL Reference”主题。

管理 MSDE 2000

正文上边包车型大巴片段将向你简要介绍管理 MSDE 贰零零叁 时最常用的 Transact-SQL 命令。

人机联作式输入 Transact-SQL 语句

如要显示 osql 工具的分歧学轻工重缓急写的选项列表,请在指令提示符下键入如下内容,然后按 ENTESportage键:

osql -?

如想精通有关 osql 工具的每生龙活虎采撷的越来越多音讯,请参见“SQL Server 联机图书”中的“osql Utility”大旨。

如要人机联作输入 Transact-SQL 语句,请根据下列步骤操作:

1. 确认 MSDE 2000 正在运行。
2. 连接到 MSDE 2000(有关更多信息,请参见标题为“连接到 SQL Server 桌面引擎 (MSDE 2000)”的部分)。
3. osql 命令提示符下,键入 Transact-SQL 语句,然后按 ENTER 键。 当您在输入的每一行后按 ENTER 键时,osql 将缓存该命令行上的语句。

如要运行当前缓存的语句,请键入“Go”,接着按 ENTER 键。

如要运行一批 Transact-SQL 语句,请分别在单独的行上输入每一个 Transact-SQL 命令。然后,在最后一行上键入“Go”以表示批处理命令的结束并运行当前缓存的语句。

运行结果出现在控制台窗口。

4. 当您在输入的每一行后按 ENTER 键时,如想从 osql 退出,请键入 QUIT 或 EXIT,并按 ENTER 键。

创办数据库

MSDE 二零零四数据库由叁个表的集合组成,那么些表中包括数据和任何对象,如视图、索引、存款和储蓄进程和事件触发器,这一个剧情定义为永葆对数码实行的各个运动。如要创制MSDE 2001 数据库,请使用“CREATE DATABASE”Transact-SQL 命令。有关 创造数据库的更多音信,请参见“SQL Server 联机图书”中的“Creating a Database”主旨。

上面包车型地铁演示成立了多个名称叫 Test 的数据库。因为还没向该命令行加多其余参数,所以 Test 数据库将与 model 数据库大小相通:

CREATE DATABASE Test

CREATE DATABASE 权限暗中同意付与 sysadmindbcreator 固定服务器剧中人物的成员。有关“CREATE DATABASE”命令的越来越多音信,请参见“SQL Server 联机图书”中的“CREATE DATABASE, Transact-SQL Reference”大旨。

如要创制贰个新的数据库对象,请使用“CREATE Transact-SQL”命令。比方,要新建叁个表,请使用“CREATE TABLE”Transact-SQL 命令。有关越多音讯,请参见“SQL Server 联机图书”。

提交 Osql 作业

平常情形下,您能够用二种情势之意气风发提交 osql 作业。您可以:

指定单个 Transact-SQL 语句。

- 或 -

将该工具指向一个脚本文件。

上面将详细介绍每风度翩翩种艺术。

点名单个 Transact-SQL 语句

如要针对 MSDE 2002 的本土暗许实例运营Transact-SQL,请键入与下部那多少个近乎的命令:

osql -E -q "Transact-SQL statement"

其中

-E 表示使用 Microsoft Windows NT 身份验证。

-而-

-q 表示运行 Transact-SQL 语句,但是在查询结束时不退出 osql

如要运维 Transact-SQL 语句并脱离 osql,请使用 -Q 参数来替代 -q

将该工具指向三个剧本文件

如要将该工具指向八个本子文件,请依照下列步骤操作:

1. 创建一个包含一批 Transact-SQL 语句的脚本文件(如 myQueries.sql)。
2. 打开命令提示符,键入与下面类似的一个命令,然后按 ENTER 键:

osql -E -i input_file

其中

input_file 是脚本文件及其完整路径。例如,如果脚本文件 myQueries.sql 在 C:Queries 文件夹中,请将参数 input_file 替换为 C:QueriesmyQueries.sql。

该脚本文件的运行结果将出现在控制台窗口中。如果您想将运行结果定向到一个文件,请向上述命令中添加 -ooutput_file 参数。例如:

osql -E -i input_file -o output_file

其中

output_file 是输出文件及其完整路径。

如想消除输出结果中的编号和提示符号,请向上述命令中添加 -n 选项。例如:

osql -E -i input_file -o output_file -n

图片 19回到顶部

参考

如要下载“SQL Server 贰零零壹 联机图书”的翻新版本,请访谈上面包车型客车 Microsoft Web 站点:

()

如要下载“SQL Server 联机图书”的 SQL Server 7.0 版,请访谈上边的Microsoft Web 站点:

http://download.microsoft.com/download/SQL70/File/2/Win98/En-US/SQLBOL.exe ()

至于 MSDE 二零零三 的更加的多新闻,请参见下列 Microsoft 知识库随笔:

319930 () HOW TO:Connect to Microsoft Desktop Engine

241397 () HOWTO:Back Up a Microsoft Desktop Engine Database with Transact-SQL

图片 20回去顶部


外加和分手数据库

能够分别叁个数据库的数码和业务日志文件然后将其再度附加到另多少个服务器,或另行附加到均等服务器。抽离二个数据库尽管从 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:MSDEBackupmydb.mdf',
@filename2 = N'C:MSDEBackupmydb.ldf'

大写字母“N”用来给“Unicode 字符串”常量增多前缀。“N”前缀代表 SQL-92 标准中的区域语言。有关详细音信,请参见 Microsoft 知识库中的以下文章:

239530 () INF:Unicode String Constants in SQL Server Require N Prefix

只有 sysadmindbcreator 固定服务器剧中人物的积极分子才足以运营此进度。有关 sp_attach_db 存款和储蓄进程的越来越多消息,请参见“SQL Server 联机图书”中的“sp_attach_db, Transact-SQL Reference”核心。 上面关于 osql 工具使用方面包车型大巴音讯适用于全体版本的 Microsoft SQL Server 二〇〇四。

图片 21重回最上部

怎么样转移登陆密码

如要修改登录密码,请使用 sp_password 存款和储蓄进度。上面包车型地铁言传身教将“test”登录的密码从“ok”改革为“hello”:

EXEC sp_password 'ok', 'hello','test'

实行权限私下认可付与正在退换其自身的记名密码的客商的公家剧中人物。独有 sysadmin 角色才方可为其余客商校勘登陆密码。有关 sp_password 存款和储蓄进度的越多新闻,请参见“SQL Server 联机图书中”的“sp_password, Transact-SQL Reference”主题。

概要

“SQL Server 桌面引擎”(也叫 MSDE 2002卡塔尔未有和煦的客商分界面,因为它根本设计为在后台运营。顾客通过 MSDE 二零零一嵌入的前后相继与它交互。随 MSDE 二〇〇三 提供的独步天下工具是 osql 。可实践文件 Sql.exe 在 MSDE 二零零三 的暗中同意实例的 MSSQLBinn 文件夹中。本文入眼研究哪边通过接受 osql 工具管理 MSDE 二零零一。

图片 22再次回到最上端

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划 数据库 8.技术转载区