sql server 2000如何执行sql脚本?

sql server 2000如何执行sql脚本?,第1张

实现的方法和详细的 *** 作步骤如下:

1、第一步,打开SQL

 Server软件,然后选择图中“数据库”选项前面的“ +”号以展开数据库,如下图所示,然后进入下一步。

2、其次,完成上述步骤后,使用相同的方法选择图中红色框中标记的数据库,该数据库是用户添加的数据库,如下图所示,然后进入下一步。

3、接着,完成上述步骤后,选择红色框中的“表”选项以将其展开,如下图所示,然后进入下一步。

4、然后,完成上述步骤后,红色框是数据库中表的名称,请记住这些名称,然后才有用,如下图所示,然后进入下一步。

5、随后,完成上述步骤后,再次选择添加的数据库,将其选中,然后单击“新建查询”按钮,如下图所示,然后进入下一步。

6、接着,完成上述步骤后,在软件的右侧,将显示新页面,见下图,然后进入下一步。

7、然后,完成上述步骤后,输入符合SQL语法的SQL语句,然后点击图中标记的“执行”按钮以执行SQL语句,如下图所示,然后进入下一步。

8、最后,完成上述步骤后,就获得了想要的结果了,如下图所示。这样,问题就解决了。

在较长时间的与oracle的交往中 每个DBA特别是一些大侠都有各种各样的完成各种用途的脚本工具 这样很方便的很快捷的完成了日常的工作 下面把我常用的一部分展现给大家 此篇主要侧重于数据库管理 这些脚本都经过严格测试表空间统计 A 脚本说明 这是我最常用的一个脚本 用它可以显示出数据库中所有表空间的状态 如表空间的大小 已使用空间 使用的百分比 空闲空间数及现在表空间的最大块是多大 B 脚本原文:SELECT upper(f tablespace_name) 表空间名 d Tot_grootte_Mb 表空间大小(M) d Tot_grootte_Mb f total_bytes 已使用空间(M) to_char(round((d Tot_grootte_Mb f total_bytes) / d Tot_grootte_Mb * ) ) 使用比 f total_bytes 空闲空间(M) f max_bytes 最大块(M) FROM(SELECT tablespace_name round(SUM(bytes)/( * ) ) total_bytes round(MAX(bytes)/( * ) ) max_bytesFROM sys dba_free_spaceGROUP BY tablespace_name) f (SELECT dd tablespace_name round(SUM(dd bytes)/( * ) ) Tot_grootte_MbFROM  sys dba_data_files ddGROUP BY dd tablespace_name) dWHERE d tablespace_name = f tablespace_nameORDER BY DESC  查看无法扩展的段 A  脚本说明 ORACLE对一个段比如表段或索引无法扩展时 取决的并不是表空间中剩余的空间是多少 而是取于这些剩余空间中最大的块是否够表比索引的 NEXT 值大 所以有时一个表空间剩余几个G的空闲空间 在你使用时ORACLE还是提示某个表或索引无法扩展 就是由于这一点 这时说明空间的碎片太多了 这个脚本是找出无法扩展的段的一些信息 B 脚本原文 SELECT segment_name segment_type owner a tablespace_name tablespacename initial_extent/ inital_extent(K) next_extent/ next_extent(K) pct_increase b bytes/ tablespace max free space(K) b sum_bytes/ tablespace total free space(K) FROM dba_segments a (SELECT tablespace_name MAX(bytes) bytes SUM(bytes) sum_bytes FROM dba_free_space GROUP BY tablespace_name) bWHERE a tablespace_name=b tablespace_nameAND next_extent>b bytesORDER BY  查看段(表段 索引段)所使用空间的大小 A  脚本说明 有时你可能想知道一个表或一个索引占用多少M的空间 这个脚本就是满足你的要求的 把<>中的内容替换一下就可以了 B 脚本原文 SELECT owner segment_name SUM(bytes)/ / FROM dba_segmentsWHERE owner=<segment owner>And segment_name=<your table or index name>GROUP BY owner segment_nameORDER BY DESC  查看数据库中的表锁 A  脚本说明 这方面的语句的样式是很多的 各式一样 不过我认为这个是最实用的 不信你就用一下 无需多说 锁是每个DBA一定都涉及过的内容 当你相知道某个表被哪个session锁定了 你就用到了这个脚本 B 脚本原文 SELECT A OWNER A OBJECT_NAME B XIDUSN B XIDSLOT B XIDSQN B SESSION_ID B ORACLE_USERNAME B OS_USER_NAME B PROCESS B LOCKED_MODE C MACHINE C STATUS C SERVER C SID C SERIAL# C PROGRAMFROM ALL_OBJECTS A V$LOCKED_OBJECT B SYS GV_$SESSION CWHERE ( A OBJECT_ID = B OBJECT_ID )AND (B PROCESS = C PROCESS )  ANDORDER BY    处理存储过程被锁 A  脚本说明 实际过程中可能你要重新编译某个存储过程理总是处于等待状态 最后会报无法锁定对象 这时你就可以用这个脚本找到锁定过程的那个sid 需要注意的是查v$access这个视图本来就很慢 需要一些布耐心 B 脚本原文 SELECT * FROM V$ACCESSWHERE owner=<object owner>And object<procedure name>  查看回滚段状态 A  脚本说明这也是DBA经常使用的脚本 因为回滚段是online还是full是他们的关怀之列嘛B SELECT a segment_name b statusFROM Dba_Rollback_Segs a v$rollstat bWHERE a segment_id=b usnORDER BY 看哪些session正在使用哪些回滚段 A 脚本说明 当你发现一个回滚段处理full状态 你想使它变回online状态 这时你便会用alter rollback segment rbs_seg_name shrink 可很多时侯确shrink不回来 主要是由于某个session在用 这时你就用到了这个脚本 找到了sid的serial#余下的事就不用我说了吧 B 脚本原文SELECT r name 回滚段名 s sid s serial# s username 用户名 s status t cr_get t phy_io t used_ublk t noundo substr(s program ) *** 作程序FROM  sys v_$session s sys v_$transaction t sys v_$rollname rWHERE t addr = s taddr and t xidusn = r usn AND r NAME IN ( ZHYZ_RBS )ORDER BY t cr_get t phy_io  查看正在使用临时段的session A 脚本说明 许多的时侯你在查看哪些段无法扩展时 回显的结果是临时段 或你做表空间统计时发现临段表空间的可用空间几乎为 这时按oracle的说法是你只有重新启动数据库才能回收这部分空间 实际过程中没那么复杂 使用以下这段脚本把占用临时段的session杀掉 然后用alter tablespace temp coalesce这个语句就把temp表空间的空间回收回来了 B 脚本原文SELECT username sid serial# sql_address machine program tablespace segtype contentsFROM v$session se v$sort_usage suWHERE se saddr=su session_addr(待续) lishixinzhi/Article/program/Oracle/201311/18647


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11296274.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存