我是在服务器上操作的!(使用Enterprise Manager)怎么以共享模式打开数据库?

解决方案 »

  1.   

    呵呵,是单用户启动SQL SERVER在单用户模式下启动 SQL Server
    在某些情况下,可能需要使用启动选项 –m 以单用户模式启动 Microsoft® SQL Server™ 实例。例如,可能要更改服务器配置选项或恢复已损坏的 master 数据库或其它系统数据库。这些操作都需要在单用户模式下启动 SQL Server 实例。当在单用户模式下启动 SQL Server 实例时: 只有一个用户可以连接到服务器。
    不执行 CHECKPOINT 进程。默认情况下,在启动时自动执行该进程。
    sp_configure 系统存储过程的 allow updates 选项处于启用状态。默认情况下,allow updates 选项被禁用。 
    在单用户模式下启动 SQL Server命令提示符
    如何在单用户模式下启动 SQL Server 的默认实例(命令提示符)
    在单用户模式下从命令提示符启动 SQL Server 的默认实例 从命令提示符输入: 
    sqlservr.exe -c -m
     
    说明  在启动 sqlservr.exe 之前,必须在命令窗口中切换到适当的目录(要启动的 Microsoft® SQL Server™ 实例所在的目录)。
    请参见在单用户模式下启动 SQL Server使用启动选项
      

  2.   

    使用启动选项
    当安装 Microsoft® SQL Server™ 时,SQL Server 安装程序在 Microsoft Windows® 2000 注册表中写入一组默认启动选项。可以使用这些启动选项指定备用的 master 数据库文件、master 数据库日志文件或错误日志文件。默认启动选项 描述 
    -dmaster_file_path master 数据库文件的完全合法路径(通常是 C:\Program Files\Microsoft SQL Server\MSSQL\Data\Master.mdf)。如果没有提供此选项,则使用现有的注册表参数。 
    -eerror_log_path 错误日志文件的完全合法路径(通常是 C:\Program Files\Microsoft SQL Server\MSSQL\Log\Errorlog)。如果没有提供此选项,则使用现有的注册表参数。 
    -lmaster_log_path master 数据库日志文件的完全合法路径(通常是 C:\Program Files\Microsoft SQL Server\MSSQL\Data\Mastlog.ldf)。 
    使用以下附加启动选项,可以临时替代默认启动选项并启动 SQL Server 实例。其它启动选项 描述 
    -c 独立于服务控制管理器来启动 SQL Server 实例,从而缩短了启动时间,并使 SQL Server 不作为 Microsoft Windows NT® 4.0 或 Windows 2000 服务运行。 
    -f 以最低配置启动 SQL Server 实例。该选项在配置值的设置(如过度提交内存)防碍了服务器启动时很有用。将启用 sp_configure allow updates 选项。默认情况下,allow updates 选项被禁用。  
    -g 以兆字节为单位指定虚拟地址空间大小,SQL Server 将为 SQL Server 进程内的内存分配保留这一部分地址空间,但将其置于 SQL Server 内存池之外。这一区域由 SQL Server 用来装载诸如扩展过程 .dll 文件、分布式查询所引用的 OLE DB 提供程序、Transact-SQL 语句中所引用的自动化对象等项目。默认值是 128 MB。 
    使用该选项有助于调节内存分配,但仅当 SQL Server 2000 个人版或 SQL Server 2000 标准版的物理内存大于 2 GB 或 SQL Server 2000 企业版的物理内存大于 3 GB 时才适用。对于物理内存少于上述值的配置,即使使用该选项也不会有什么帮助。如果 SQL Server 的内存使用要求反常,并且 SQL Server 进程的虚拟地址空间全都在使用,那么在这样的大内存配置中适合使用该选项。不正确地使用该选项可能导致 SQL Server 实例无法启动或遇到运行时错误。除非在 SQL Server 错误日志中看到下面的警告信息,否则应使用 –g 参数的默认值:警告:Clearing procedure cache to free contiguous memory此信息表明 SQL Server 正试图释放 SQL Server 内存池的部分空间,以便为扩展存储过程 .dll 文件或自动化对象等项目寻找空间。在这种情况下,可以考虑增加由 -g 开关保留的内存量。使用低于默认值的值可以增加缓冲池和线程栈中的可用内存量;在不使用很多扩展存储过程、分布式查询或自动化对象的系统中,这种方法可为需要大量内存的工作负荷带来性能方面的好处。
     
    -m 在单用户模式下启动 SQL Server 实例。当在单用户模式下启动 SQL Server 实例时,只有一个用户可进行连接,并且不启动 CHECKPOINT 进程。CHECKPOINT 保证将已完成的事务定期从磁盘高速缓存写入数据库设备。(一般在遇到需要修复系统数据库这样的问题时使用该选项。)将启用 sp_configure allow updates 选项。默认情况下,allow updates 选项被禁用。  
    -n 不使用 Windows 应用程序日志记录 SQL Server 事件。如果用 -n 启动 SQL Server 实例,建议同时使用 -e 启动选项;否则将不会记录 SQL Server 事件。 
    -s 允许启动 SQL Server 2000 命名实例。如果没有设置 -s 参数,将尝试启动默认实例。启动 sqlservr.exe 之前,必须在命令提示符下切换到实例的适当 BINN 目录。例如,如果 Instance1 在 \mssql$Instance1 下保存二进制文件,用户就必须在 \mssql$Instance1\binn 目录中启动 sqlservr.exe-sinstance1。 
    /Ttrace# 表示应使用指定的有效跟踪标记 (trace#) 来启动 SQL Server 实例。跟踪标记用于以非标准行为启动服务器。 
    x 不保留 CPU 时间和高速缓存命中率统计信息。可获得最大性能。 
    重要  用 /T 选项指定跟踪标记时,使用大写字母"T"传递跟踪标记号。SQL Server 可以接受小写字母"t",但这将设置其它内部跟踪标记,而这些标记只有 SQL Server 技术支持工程师才需要。(不读取"控制面板"启动窗口中所指定的参数。)
      

  3.   

    使用sqldmo的killprocess方法可以关闭所有与数据库服务器的连接,当然不要把自己也kill掉