关键词:SqlServer面试题 数据库面试题 DBA面试题
本文地址:http://www.teecool.com/post/2007110101.html
内容正文:
SQL Server Profiler和参数化语句
问:自从升级到SQL Server 2000后,我在SQL事件查看器中遇到了一个问题:我无法捕获带有参数的Transact-SQL语句。我希望获得查询执行过程中参数的实际取值,而并非诸如@p1这样的参数形式。请问如何在不引用跟踪过程中其它行的情况下对参数取值加以置换。
答:您必须获取跟踪过程的其它部分(如存储过程StmtCompleted所返回的结果),并将这些部分收集在一起(语句放在最前面)以捕获完整的查询内容。之所以会出现这样的结果,其原因在于从SQL Server关系型引擎恢复数据的SQL事件查看器方法。这样的问题在SQL Server 7.0中同样存在。然而,由于当事件产生时,位于引擎内部的参数取值是未知的,因此,我们无法在这一时刻做出修改。
将一个SQL Server系统用作一台PDC
问:我的公司建立了一个灾难恢复站点,并且计划在一台新配备的计算机上安装SQL Server。Microsoft Windows NT管理员希望使用运行SQL Server的计算机作为主域控制器(PDC)。我听说,由于PDC需要完整维护与复制网络帐号数据库所引发的资源密集型任务并且需要执行网络登陆验证操作,因此,这种配置方案并非一种良好的方式。那么,请问运行SQL Server的计算机能够转而充当备份域控制器(BDC)呢?从技术上讲,将SQL Server配置为PDC或BDC是否可能呢?
答:当您在PDC或BDC上安装SQL Server时,它仍可保持良好的工作状态。如需确定某种配置方案能否适应于您的站点,应当考虑您所拥有的资源。如果您拥有足够的网络带宽、内存空间与空闲处理器,那么,使用运行SQL Server的计算机作为域控制器便是一种合理的方案。然而,在这种情况下,根据域的实际规模,相应的计算机可能需要承担大量工作负载。如果您认为SQL Server的任务将会非常繁重,那么,便请不要再让其运行任何其它服务。
管理技巧
问:我尝试将数据库备份到网络共享资源上的一个文件中,并将其恢复到另一台服务器上。我试图通过下列语句借助net use命令在目标服务器上创建共享资源:
NET USE * \\PS5\C /USER:ONEDEV\domain id
password /PERSISTENT:NO
然而,系统却始终返回消息“无法获得尚未分配的可用驱动器盘符”。此时,SQL Server企业管理器明明显示出许多可用驱动器。请问我应如何解决这一问题?
答:您只需直接使用统一命名约定(UNC)路径来备份您的数据库。SQL Server并非按照与用户相同的方式来看待映射驱动器盘符。您需要在您的共享资源\\PS5\C上为SQL Server服务帐号授予完整的访问权限,创建一个新的共享资源,或使SQL Server服务帐号成为名为PS5的计算机上的管理员组成员。
将事务日志移动到不同的驱动器
问:如何将数据库事务日志移动到不同的驱动器上?
答:您可以通过用于分离与附加数据库的SQL Server存储过程来移动事务日志。您需要对数据库进行分离,移动日志文件,然后再将其重新附加到数据库上。举例来说,如果要将pubs数据库从C驱动器移动到D驱动器,应首先使用以下格式的sp_detach_db命令分离数据库:
EXEC sp_detach_db 'pubs'
接下来,将pubs.mdf与pubs_log.ldf文件拷贝到目标驱动器上。以下示例显示了如何将这两个文件拷贝到d:\mssql7\data目录下:
copy c:\mssql7\data\pubs.mdf d:\mssql7\datacopy c:\mssql7\data\pubs_log.ldf d:\mssql7\data
最后,当您完成文件拷贝操作后,便可使用sp_ attach_db存储过程将数据重新附件到SQL Server上:
EXEC sp_attach_db 'pubs', 'd:\mssql7\data\pubs.mdf', 'd:\mssql7\data\pubs_log.ldf'
SQL Server数据库管理员面试题(DBA)一文有面试题库网收集自互联网,并非本站原创,如原作者发现SQL Server数据库管理员面试题(DBA)一文,请及时告知本站,本站会作出相关处理,谢谢!!!(联系方式:百度空间留言)