<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sybase数据库技术，数据库恢复专家 &#187; 表所有权</title>
	<atom:link href="http://www.dbainfo.net/tag/%e8%a1%a8%e6%89%80%e6%9c%89%e6%9d%83/feed" rel="self" type="application/rss+xml" />
	<link>https://www.dbainfo.net</link>
	<description>提供Sybase ASE及Sybase SQL Anywhere数据库修复服务，电话：13811580958(微信)，QQ：289965371！We have many years of experience in recovering data from damanged Sybase devices. Contact us by Phone: +86 13811580958 Wechat: 13811580958 Email: 289965371@qq.com</description>
	<lastBuildDate>Sat, 14 Jun 2025 16:28:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>查找没有授予给其它用户权限的表以及权限</title>
		<link>https://www.dbainfo.net/find-not-grant-privilege-tables.htm</link>
		<comments>https://www.dbainfo.net/find-not-grant-privilege-tables.htm#comments</comments>
		<pubDate>Thu, 05 Sep 2013 14:18:53 +0000</pubDate>
		<dc:creator>dbainfo</dc:creator>
				<category><![CDATA[Sybase ASE]]></category>
		<category><![CDATA[ASE]]></category>
		<category><![CDATA[grant]]></category>
		<category><![CDATA[表所有权]]></category>

		<guid isPermaLink="false">http://www.dbainfo.net/?p=2159</guid>
		<description><![CDATA[以将dbo创建的所有表授予相应权限给普通用户userA为例。 将dbo拥有的表的相应权限（select/insert/update/delete）授予给普通用户userA，使用以下SQL生成授权语句： select &#39;grant select&#160; on &#39; + user_name(uid) + &#39;.&#39; + name + &#39; to userA&#39;&#160; from sysobjects where type=&#39;U&#39; and uid=user_id(&#39;dbo&#39;) union all select &#39;grant insert on &#39; + user_name(uid) + &#39;.&#39; + name + &#39; to userA&#39;&#160; from sysobjects where type=&#39;U&#39; and uid=user_id(&#39;dbo&#39;) union all select &#39;grant update on &#39; + user_name(uid) [...]]]></description>
			<content:encoded><![CDATA[<p>以将dbo创建的所有表授予相应权限给普通用户userA为例。</p>
<p>将dbo拥有的表的相应权限（select/insert/update/delete）授予给普通用户userA，使用以下SQL生成授权语句：</p>
<blockquote>
<p>
		select &#39;grant select&nbsp; on &#39; + user_name(uid) + &#39;.&#39; + name + &#39; to userA&#39;&nbsp; from sysobjects where type=&#39;U&#39; and uid=user_id(&#39;dbo&#39;)</p>
<p>		union all</p>
<p>		select &#39;grant insert on &#39; + user_name(uid) + &#39;.&#39; + name + &#39; to userA&#39;&nbsp; from sysobjects where type=&#39;U&#39; and uid=user_id(&#39;dbo&#39;)</p>
<p>		union all</p>
<p>		select &#39;grant update on &#39; + user_name(uid) + &#39;.&#39; + name + &#39; to userA&#39;&nbsp; from sysobjects where type=&#39;U&#39; and uid=user_id(&#39;dbo&#39;)</p>
<p>		union all</p>
<p>		select &#39;grant delete on &#39; + user_name(uid) + &#39;.&#39; + name + &#39; to userA&#39;&nbsp; from sysobjects where type=&#39;U&#39; and uid=user_id(&#39;dbo&#39;)</p>
</blockquote>
<p>
	查看某张表的上用户的权限情况：</p>
<p>	sp_helprotect table_name</p>
<p>	查看用户所拥有的对象权限情况：</p>
<p>	sp_helprotect user_name<span id="more-2159"></span></p>
<p>如何知道哪些表的权限没有授予给userA，如何知道某张表的哪个权限没有授予给userA呢？</p>
<blockquote>
<p>select &#39;grant &#39; + (case o.action<br />
		when 193 then &#39;select&#39; <br />
		when 195 then &#39;insert&#39; <br />
		when 196 then &#39;delete&#39; <br />
		when 197 then &#39;update&#39; <br />
		else &#39;all&#39; <br />
		end)<br />
		+ &#39; on &#39; +&nbsp; user_name(o.uid) + &#39;.&#39; + o.name +&nbsp; &#39; to userA&#39;<br />
		from<br />
		(select name,id,uid,type,action<br />
		&nbsp; from sysobjects,(select 193 &#39;action&#39; union select 195 union select 196 union select 197) p<br />
		) o<br />
		left join sysprotects p1 on o.id=p1.id and p1.uid=user_id(&#39;userA&#39;) and o.action=p1.action<br />
		where o.type=&#39;U&#39; and o.uid=user_id(&#39;dbo&#39;) and p1.action is null<br />
		and o.name like &#39;%%&#39;<br />
		go</p>
</blockquote>
<p>&nbsp;</p>
<p>
	&nbsp;</p>
<div style="clear: both; margin: 10px 0pt; border: 1px dashed rgb(153, 153, 153); font-size: 12px; padding: 5px 10px;">
<li>本文链接地址：<a href="https://www.dbainfo.net/find-not-grant-privilege-tables.htm">https://www.dbainfo.net/find-not-grant-privilege-tables.htm</a>；</li>
<li>本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载；</li>
<li>转载务必注明原始出处 : <a href="https://www.dbainfo.net/">Sybase数据库技术，数据库恢复专家</a>；</li>
<li>对《<a href="https://www.dbainfo.net/find-not-grant-privilege-tables.htm">查找没有授予给其它用户权限的表以及权限</a>》有何疑问或见解，请在本文下方发表；</li>
<li>对网站还有其他问题或建议，请提交在<a href="https://www.dbainfo.net/messages" target="_blank">留言板</a>，谢谢！</li>
</div>
<h2  class="related_post_title">相关文章</h2><ul class="related_post"><li>2019-04-12 -- <a href="https://www.dbainfo.net/sybase-ase-asa-recovery-service.htm" title="Sybase ASE及SQL Anywhere数据库修复专家">Sybase ASE及SQL Anywhere数据库修复专家</a> (0)</li><li>2015-01-16 -- <a href="https://www.dbainfo.net/one-way-to-recover-master-configuration-area.htm" title="master数据库配置区域(configuration area)损坏的一种修复方法">master数据库配置区域(configuration area)损坏的一种修复方法</a> (1)</li><li>2014-10-10 -- <a href="https://www.dbainfo.net/ase-object-name-length-limit.htm" title="ASE对象名称长度限制">ASE对象名称长度限制</a> (0)</li><li>2014-06-09 -- <a href="https://www.dbainfo.net/count_all_tables_rowcount.htm" title="统计用户数据库内所有表的行数">统计用户数据库内所有表的行数</a> (0)</li><li>2013-11-19 -- <a href="https://www.dbainfo.net/showplan_html_format.htm" title="以HTML格式显示ASE查询计划">以HTML格式显示ASE查询计划</a> (0)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation5.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 5、安装后的配置工作">Sybase ASE 15.0.3 for windows平台安装文档 – 5、安装后的配置工作</a> (1)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation4.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 4、安装Sybase数据库服务">Sybase ASE 15.0.3 for windows平台安装文档 – 4、安装Sybase数据库服务</a> (0)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation3.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 3、升级到 Sybase 15.0.3 ESD #3">Sybase ASE 15.0.3 for windows平台安装文档 – 3、升级到 Sybase 15.0.3 ESD #3</a> (0)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation2.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 2、安装Sybase ASE程序">Sybase ASE 15.0.3 for windows平台安装文档 – 2、安装Sybase ASE程序</a> (0)</li><li>2013-11-11 -- <a href="https://www.dbainfo.net/ase-15-0-3-for-windows-installation1.htm" title="Sybase ASE 15.0.3 for windows平台安装文档 – 1、安装前的准备工作">Sybase ASE 15.0.3 for windows平台安装文档 – 1、安装前的准备工作</a> (1)</li></ul>]]></content:encoded>
			<wfw:commentRss>https://www.dbainfo.net/find-not-grant-privilege-tables.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用重启数据库的未认证DBCC命令来移交表的所有权</title>
		<link>https://www.dbainfo.net/one-undocument-dbcc-command-handover-table-ownership.htm</link>
		<comments>https://www.dbainfo.net/one-undocument-dbcc-command-handover-table-ownership.htm#comments</comments>
		<pubDate>Mon, 27 Dec 2010 08:21:35 +0000</pubDate>
		<dc:creator>dbainfo</dc:creator>
				<category><![CDATA[Sybase ASE]]></category>
		<category><![CDATA[DBCC]]></category>
		<category><![CDATA[dbcc dbreboot]]></category>
		<category><![CDATA[表所有权]]></category>

		<guid isPermaLink="false">http://www.dbainfo.net/?p=632</guid>
		<description><![CDATA[ASE 15.7 新增了命令可以将数据库对象的所有权从一个所有者移交给另一个所有者。 比如将表customer的所有权从dbo移交给bill，使用命令： alter table dbo.customer modify owner bill 不仅仅限于表，还有其它数据库对象包括：视图、存储过程、用户定义函数、默认值、规则、自定义数据类型、加密密钥等； 一次性可以授予多个数据库对象： 1、将 bill 拥有的所有表的所有权都移交给 eric： &#160;&#160;&#160; alter table bill.* modify owner eric preserve permissions 2、将 bill 拥有的所有对象的所有权都移交给 eric： &#160; &#160; alter all bill.* modify owner eric preserve permissions preserve permissions：针对这些对象的所有显式授予或撤消的权限都将被保留，并且权限的 grantor 将更改为新的所有者。------------------------------------------------------------------------------------------------------------------------------------------------------- 以下提供的方法适用于低于ASE 15.7的版本！ 和SQL Server很相似，Sybase ASE数据库有一些未认证的DBCC命令。日常的维护过程中，需要一些Sybase认证的、公开的DBCC命令来完成，比如：检查数据库或者表的一致性、物理存储分配一致性、重建索引等等。对于这些公开的DBCC命令，Sybase公司是提供技术支持保障的。那些未公开的也就是未认证的DBCC命令，仅限Sybase内部工程师使用；Sybase公司不提供技术支持也不会对于此产生的问题负责。 所以，不要在生产环境上使用未认证的DBCC命令。在测试环境上研究学习使用倒是可以的。 需要记住的是：没人对这些未认证的DBCC产后的后果负责。 本篇介绍一个用来关闭或者重启某个用户数据库的未认证DBCC命令：dbcc dbreboot。顺便介绍一个修改对象所有者的方法。因为在ASE中对象的所有权是不能移交的，其它用户只有使用权。这点和中国土地权方面很类似吗？美国人信奉私有制，怎么设计出来这个数据库实现思路？呵呵，有点扯远了~~~ 这边的测试环境是ASE15.0.3，我不确定从哪个ASE版本开始支持这个dbcc dbreboot命令的。 首先用isql连接到ASE15.0.3数据库，先打开在屏幕显示输出信息的选项， [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if !mso]></p>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<p><![endif]--><!--[if gte mso 9]><xml><br />
 <w:WordDocument><br />
  <w:View>Normal</w:View><br />
  <w:Zoom>0</w:Zoom><br />
  <w:TrackMoves>false</w:TrackMoves><br />
  <w:TrackFormatting/><br />
  <w:PunctuationKerning/><br />
  <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing><br />
  <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><br />
  <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><br />
  <w:ValidateAgainstSchemas/><br />
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid><br />
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent><br />
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText><br />
  <w:DoNotPromoteQF/><br />
  <w:LidThemeOther>EN-US</w:LidThemeOther><br />
  <w:LidThemeAsian>ZH-CN</w:LidThemeAsian><br />
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript><br />
  <w:Compatibility><br />
   <w:SpaceForUL/><br />
   <w:BalanceSingleByteDoubleByteWidth/><br />
   <w:DoNotLeaveBackslashAlone/><br />
   <w:ULTrailSpace/><br />
   <w:DoNotExpandShiftReturn/><br />
   <w:AdjustLineHeightInTable/><br />
   <w:BreakWrappedTables/><br />
   <w:SnapToGridInCell/><br />
   <w:WrapTextWithPunct/><br />
   <w:UseAsianBreakRules/><br />
   <w:DontGrowAutofit/><br />
   <w:SplitPgBreakAndParaMark/><br />
   <w:DontVertAlignCellWithSp/><br />
   <w:DontBreakConstrainedForcedTables/><br />
   <w:DontVertAlignInTxbx/><br />
   <w:Word11KerningPairs/><br />
   <w:CachedColBalance/><br />
   <w:UseFELayout/><br />
  </w:Compatibility><br />
  <w:DoNotOptimizeForBrowser/><br />
  <m:mathPr><br />
   <m:mathFont m:val="Cambria Math"/><br />
   <m:brkBin m:val="before"/><br />
   <m:brkBinSub m:val="&#45;-"/><br />
   <m:smallFrac m:val="off"/><br />
   <m:dispDef/><br />
   <m:lMargin m:val="0"/><br />
   <m:rMargin m:val="0"/><br />
   <m:defJc m:val="centerGroup"/><br />
   <m:wrapIndent m:val="1440"/><br />
   <m:intLim m:val="subSup"/><br />
   <m:naryLim m:val="undOvr"/><br />
  </m:mathPr></w:WordDocument><br />
</xml><![endif]--><!--[if gte mso 9]><xml><br />
 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"<br />
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"<br />
  LatentStyleCount="267"><br />
  <w:LsdException Locked="false" Priority="1" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/><br />
  <w:LsdException Locked="false" Priority="9" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/><br />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/><br />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/><br />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/><br />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/><br />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/><br />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/><br />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/><br />
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/><br />
  <w:LsdException Locked="false" Priority="39" Name="toc 1"/><br />
  <w:LsdException Locked="false" Priority="39" Name="toc 2"/><br />
  <w:LsdException Locked="false" Priority="39" Name="toc 3"/><br />
  <w:LsdException Locked="false" Priority="39" Name="toc 4"/><br />
  <w:LsdException Locked="false" Priority="39" Name="toc 5"/><br />
  <w:LsdException Locked="false" Priority="39" Name="toc 6"/><br />
  <w:LsdException Locked="false" Priority="39" Name="toc 7"/><br />
  <w:LsdException Locked="false" Priority="39" Name="toc 8"/><br />
  <w:LsdException Locked="false" Priority="39" Name="toc 9"/><br />
  <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/><br />
  <w:LsdException Locked="false" Priority="10" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="Title"/><br />
  <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/><br />
  <w:LsdException Locked="false" Priority="11" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/><br />
  <w:LsdException Locked="false" Priority="22" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/><br />
  <w:LsdException Locked="false" Priority="20" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/><br />
  <w:LsdException Locked="false" Priority="59" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Table Grid"/><br />
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/><br />
  <w:LsdException Locked="false" Priority="1" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/><br />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Shading"/><br />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light List"/><br />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Grid"/><br />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 1"/><br />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 2"/><br />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 1"/><br />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 2"/><br />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 1"/><br />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 2"/><br />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 3"/><br />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Dark List"/><br />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Shading"/><br />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful List"/><br />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Grid"/><br />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/><br />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light List Accent 1"/><br />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/><br />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/><br />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/><br />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/><br />
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/><br />
  <w:LsdException Locked="false" Priority="34" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/><br />
  <w:LsdException Locked="false" Priority="29" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/><br />
  <w:LsdException Locked="false" Priority="30" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/><br />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/><br />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/><br />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/><br />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/><br />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Dark List Accent 1"/><br />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/><br />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/><br />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/><br />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/><br />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light List Accent 2"/><br />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/><br />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/><br />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/><br />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/><br />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/><br />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/><br />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/><br />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/><br />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Dark List Accent 2"/><br />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/><br />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/><br />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/><br />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/><br />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light List Accent 3"/><br />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/><br />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/><br />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/><br />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/><br />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/><br />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/><br />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/><br />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/><br />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Dark List Accent 3"/><br />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/><br />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/><br />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/><br />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/><br />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light List Accent 4"/><br />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/><br />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/><br />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/><br />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/><br />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/><br />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/><br />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/><br />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/><br />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Dark List Accent 4"/><br />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/><br />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/><br />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/><br />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/><br />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light List Accent 5"/><br />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/><br />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/><br />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/><br />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/><br />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/><br />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/><br />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/><br />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/><br />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Dark List Accent 5"/><br />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/><br />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/><br />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/><br />
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/><br />
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light List Accent 6"/><br />
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/><br />
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/><br />
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/><br />
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/><br />
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/><br />
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/><br />
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/><br />
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/><br />
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Dark List Accent 6"/><br />
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/><br />
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/><br />
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"<br />
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/><br />
  <w:LsdException Locked="false" Priority="19" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/><br />
  <w:LsdException Locked="false" Priority="21" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/><br />
  <w:LsdException Locked="false" Priority="31" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/><br />
  <w:LsdException Locked="false" Priority="32" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/><br />
  <w:LsdException Locked="false" Priority="33" SemiHidden="false"<br />
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/><br />
  <w:LsdException Locked="false" Priority="37" Name="Bibliography"/><br />
  <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/><br />
 </w:LatentStyles><br />
</xml><![endif]--><!--[if gte mso 10]></p>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:普通表格;
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-qformat:yes;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0cm;
	mso-pagination:widow-orphan;
	font-size:10.5pt;
	mso-bidi-font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-font-kerning:1.0pt;}
</style>
<p><![endif]-->
<p class="MsoNormal"><span lang="EN-US">ASE 15.7 新增了命令可以将数据库对象的所有权从一个所有者移交给另一个所有者。</span></p>
<p class="MsoNormal">比如将表customer的所有权从dbo移交给bill，使用命令： alter table dbo.customer modify owner bill</p>
<p class="MsoNormal">不仅仅限于表，还有其它数据库对象包括：视图、存储过程、用户定义函数、默认值、规则、自定义数据类型、加密密钥等；</p>
<p class="MsoNormal">一次性可以授予多个数据库对象：</p>
<p class="MsoNormal">1、将 bill 拥有的所有表的所有权都移交给 eric：<br />
	&nbsp;&nbsp;&nbsp; alter table bill.* modify owner eric preserve permissions</p>
<p>	2、将 bill 拥有的所有对象的所有权都移交给 eric：<br />
	&nbsp; &nbsp; alter all bill.* modify owner eric preserve permissions</p>
<p class="MsoNormal"><strong>preserve permissions</strong>：针对这些对象的所有显式授予或撤消的权限都将被保留，并且权限的 grantor 将更改为新的所有者。-------------------------------------------------------------------------------------------------------------------------------------------------------</p>
<p class="MsoNormal"><span style="color:#f00;">以下提供的方法适用于低于ASE 15.7的版本！<br />
	</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">和</span><span lang="EN-US">SQL Server</span><span style="font-family: 宋体;">很相似，</span><span lang="EN-US">Sybase ASE</span><span style="font-family: 宋体;">数据库有一些未认证的</span><span lang="EN-US">DBCC</span><span style="font-family: 宋体;">命令。日常的维护过程中，需要一些</span><span lang="EN-US">Sybase</span><span style="font-family: 宋体;">认证的、公开的</span><span lang="EN-US">DBCC</span><span style="font-family: 宋体;">命令来完成，比如：检查数据库或者表的一致性、物理存储分配一致性、重建索引等等。对于这些公开的</span><span lang="EN-US">DBCC</span><span style="font-family: 宋体;">命令，</span><span lang="EN-US">Sybase</span><span style="font-family: 宋体;">公司是提供技术支持保障的。那些未公开的也就是未认证的</span><span lang="EN-US">DBCC</span><span style="font-family: 宋体;">命令，仅限</span><span lang="EN-US">Sybase</span><span style="font-family: 宋体;">内部工程师使用；</span><span lang="EN-US">Sybase</span><span style="font-family: 宋体;">公司不提供技术支持也不会对于此产生的问题负责。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">所以，不要在生产环境上使用未认证的</span><span lang="EN-US">DBCC</span><span style="font-family: 宋体;">命令。在测试环境上研究学习使用倒是可以的。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;"><strong>需要记住的是</strong>：<strong><span style="color: rgb(255, 0, 0);">没人对这些未认证的</span></strong></span><strong><span style="color: rgb(255, 0, 0);"><span lang="EN-US">DBCC</span><span style="font-family: 宋体;">产后的后果负责。</span></span></strong></p>
<p class="MsoNormal"><span style="font-family: 宋体;">本篇介绍一个用来关闭或者重启某个用户数据库的未认证</span><span lang="EN-US">DBCC</span><span style="font-family: 宋体;">命令：</span><span lang="EN-US">dbcc dbreboot</span><span style="font-family: 宋体;">。顺便介绍一个修改对象所有者的方法。因为在</span><span lang="EN-US">ASE</span><span style="font-family: 宋体;">中对象的所有权是不能移交的，其它用户只有使用权。这点和中国土地权方面很类似吗？美国人信奉私有制，怎么设计出来这个数据库实现思路？呵呵，有点扯远了</span><span lang="EN-US">~~~</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">这边的测试环境是</span><span lang="EN-US">ASE15.0.3</span><span style="font-family: 宋体;">，我不确定从哪个</span><span lang="EN-US">ASE</span><span style="font-family: 宋体;">版本开始支持这个</span><span lang="EN-US">dbcc dbreboot</span><span style="font-family: 宋体;">命令的。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">首先用</span><span lang="EN-US">isql</span><span style="font-family: 宋体;">连接到</span><span lang="EN-US">ASE15.0.3</span><span style="font-family: 宋体;">数据库，先打开在屏幕显示输出信息的选项，</span></p>
<blockquote>
<p class="MsoNormal"><span lang="EN-US">dbcc traceon(3604)</span></p>
<p class="MsoNormal"><span lang="EN-US">go</span></p>
</blockquote>
<p class="MsoNormal"><span style="font-family: 宋体;">先来查看一下</span><span lang="EN-US">dbcc dbreboot</span><span style="font-family: 宋体;">的用法：<span id="more-632"></span></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">执行</span><span lang="EN-US">dbcc help(dbreboot)</span><span style="font-family: 宋体;">可以查看使用方法</span></p>
<blockquote>
<p class="MsoNormal"><span lang="EN-US">1&gt; dbcc help(dbreboot)</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt; go</span></p>
<p class="MsoNormal"><span lang="EN-US">dbreboot (report | reboot | reboot_norecovery | shutdown | shutdown_load |</span></p>
<p class="MsoNormal"><span lang="EN-US">restart | restart_norecovery, &lt;dbname1&gt; [, &lt;dbname2&gt; ...])</span></p>
</blockquote>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span><span style="font-family: 宋体;">通过上面的使用方法，可以看到</span><span lang="EN-US">dbreboot</span><span style="font-family: 宋体;">命令只有两个参数：</span></p>
<p class="MsoNormal"><span lang="EN-US">1</span><span style="font-family: 宋体;">：可操作的类型：</span><span lang="EN-US">reboot</span><span style="font-family: 宋体;">，</span><span lang="EN-US">shutdown</span><span style="font-family: 宋体;">，</span><span lang="EN-US">restart</span><span style="font-family: 宋体;">等</span></p>
<p class="MsoNormal"><span lang="EN-US">2</span><span style="font-family: 宋体;">：被操作的用户数据库的名称，不支持数据库</span><span lang="EN-US">ID</span><span style="font-family: 宋体;">，也不支持系统数据库</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">先来查看一下用户数据库</span><span lang="EN-US">ddb</span><span style="font-family: 宋体;">下面都有哪些用户和对象</span></p>
<blockquote>
<p class="MsoNormal"><span lang="EN-US">1&gt;use ddb</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;go</span></p>
<p class="MsoNormal"><span lang="EN-US">1&gt;select uid,name from sysusers where uid &lt; 1000 order by uid</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;go</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;</span>uid<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>name</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;</span>----------- ------------------------------</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>0 public</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>1 dbo</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>3 patrol</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>5 rep</span></p>
<p class="MsoNormal"><span lang="EN-US">(4 rows affected)</span></p>
</blockquote>
<p class="MsoNormal"><span style="font-family: 宋体;">数据库</span><span lang="EN-US">ddb</span><span style="font-family: 宋体;">内有两个非系统用户：</span><span lang="EN-US">patrol</span><span style="font-family: 宋体;">和</span><span lang="EN-US">rep</span></p>
<blockquote>
<p class="MsoNormal"><span lang="EN-US">1&gt;select uid,count(*) from sysobjects</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;group by uid</span></p>
<p class="MsoNormal"><span lang="EN-US">3&gt;order by uid</span></p>
<p class="MsoNormal"><span lang="EN-US">4&gt;go</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;</span>uid</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;</span>----------- -----------</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>1<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>43</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>5<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>56</span></p>
<p class="MsoNormal"><span lang="EN-US">(2 rows affected)</span></p>
</blockquote>
<p class="MsoNormal"><span style="font-family: 宋体;">用户</span><span lang="EN-US">dbo</span><span style="font-family: 宋体;">拥有</span><span lang="EN-US">43</span><span style="font-family: 宋体;">个对象，另外</span><span lang="EN-US">56</span><span style="font-family: 宋体;">个对象归用户</span><span lang="EN-US">rep</span><span style="font-family: 宋体;">所属。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">下面开始将用户</span><span lang="EN-US">rep</span><span style="font-family: 宋体;">拥有的</span><span lang="EN-US">56</span><span style="font-family: 宋体;">个对象&ldquo;移交&rdquo;给其它的用户：</span><span lang="EN-US">patrol</span><span style="font-family: 宋体;">，这里移交的意思就是将对象的所有权转移给其它用户</span><span lang="EN-US">patrol</span><span style="font-family: 宋体;">。</span><span lang="EN-US">Sybase ASE</span><span style="font-family: 宋体;">中是不支持这么做的。官方的推荐的做法就是重建用户表及其它对象。我这里提供的方法是&ldquo;非官方&rdquo;的，或许会存在问题，不过我在多次测试后没发现问题。建议大家在测试开发环境上可以这么做。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">但是，我感觉这个方法是可行的。在文章后面我将给出验证方法。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">启用服务器选项&ldquo;</span><span lang="EN-US">allow updates to system tables</span><span style="font-family: 宋体;">&rdquo;来允许修改系统表，在用户事务内修改表数据来回退错误的操作步骤。</span></p>
<blockquote>
<p class="MsoNormal"><span lang="EN-US">1&gt;begin tran</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;go</span></p>
<p class="MsoNormal"><span lang="EN-US">1&gt;update sysobjects</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;set uid = 3</span></p>
<p class="MsoNormal"><span lang="EN-US">3&gt;where uid = 5</span></p>
<p class="MsoNormal"><span lang="EN-US">4&gt;go</span></p>
<p class="MsoNormal"><span lang="EN-US">(56 rows affected)</span></p>
<p class="MsoNormal"><span lang="EN-US">1&gt;commit</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;go</span></p>
</blockquote>
<p class="MsoNormal"><span style="font-family: 宋体;">以上就将系统表</span><span lang="EN-US">sysobjects</span><span style="font-family: 宋体;">中记录对象拥有者</span><span lang="EN-US">uid</span><span style="font-family: 宋体;">的信息由</span><span lang="EN-US">rep</span><span style="font-family: 宋体;">改成了</span><span lang="EN-US">patrol</span><span style="font-family: 宋体;">。内存中的元数据信息是没有办法改的，如果马上进行查询数据库的操作会报错的，也就是说</span><span lang="EN-US">ASE</span><span style="font-family: 宋体;">服务器还是&ldquo;固执&rdquo;认为被修改所属者的那些表还是属于原来所有者的。如果让</span><span lang="EN-US">ASE</span><span style="font-family: 宋体;">认为被修改的这些表属于</span><span lang="EN-US">patrol</span><span style="font-family: 宋体;">而不是原来的</span><span lang="EN-US">rep</span><span style="font-family: 宋体;">了，方法是重新装载元数据信息。以前的</span><span lang="EN-US">ASE</span><span style="font-family: 宋体;">版本中可以通过重启</span><span lang="EN-US">ASE</span><span style="font-family: 宋体;">服务器，现在我们可以用</span><span lang="EN-US">dbcc dbreboot</span><span style="font-family: 宋体;">命令来重启某个用户数据库，而不是所有的库了。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">执行</span><span lang="EN-US">dbcc dbreboot(&ldquo;reboot&rdquo;,ddb)</span><span style="font-family: 宋体;">，</span><span lang="EN-US">shutdown</span><span style="font-family: 宋体;">是个系统关键字，需要加双引号。</span></p>
<p class="MsoNormal"><span lang="EN-US">1&gt;dbcc dbreboot(&quot;reboot&quot;,ddb)</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;go</span></p>
<p class="MsoNormal"><span lang="EN-US">---------- Shutting Down Database &#39;ddb&#39; ----------</span></p>
<p class="MsoNormal"><span lang="EN-US">Msg 2202, Level 16, State 1:</span></p>
<p class="MsoNormal"><span lang="EN-US">Server &#39;TEST&#39;, Line 1:</span></p>
<p class="MsoNormal"><span lang="EN-US">You cannot start database shutdown from the database to be shut down.</span></p>
<p class="MsoNormal"><span lang="EN-US">---------- Operation on Database &#39;ddb&#39; Failed ----------</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">必须在</span><span lang="EN-US">master</span><span style="font-family: 宋体;">数据库内部执行这个命令：</span><span lang="EN-US">dbcc dbreboot(&quot;reboot&quot;,ddb)</span></p>
<blockquote>
<p class="MsoNormal"><span lang="EN-US">1&gt;use master</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;go</span></p>
<p class="MsoNormal"><span lang="EN-US">1&gt;dbcc dbreboot(&quot;reboot&quot;,ddb)</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;go</span></p>
<p class="MsoNormal"><span lang="EN-US">---------- Shutting Down Database &#39;ddb&#39; ----------</span></p>
<p class="MsoNormal"><span lang="EN-US">---------- Re-starting Database &#39;ddb&#39; With Recovery ----------</span></p>
<p class="MsoNormal"><span lang="EN-US">Recovering database &#39;ddb&#39;.</span></p>
<p class="MsoNormal"><span lang="EN-US">Started estimating recovery log boundaries for database &#39;ddb&#39;.</span></p>
<p class="MsoNormal"><span lang="EN-US">Database &#39;ddb&#39;, checkpoint=(26118, 15), first=(26118, 15), last=(26125, 13).</span></p>
<p class="MsoNormal"><span lang="EN-US">Completed estimating recovery log boundaries for database &#39;ddb&#39;.</span></p>
<p class="MsoNormal"><span lang="EN-US">Started ANALYSIS pass for database &#39;ddb&#39;.</span></p>
<p class="MsoNormal"><span lang="EN-US">Completed ANALYSIS pass for database &#39;ddb&#39;.</span></p>
<p class="MsoNormal"><span lang="EN-US">Started REDO pass for database &#39;ddb&#39;. The total number of log records to process</span></p>
<p class="MsoNormal"><span lang="EN-US">is 237.</span></p>
<p class="MsoNormal"><span lang="EN-US">Redo pass of recovery has processed 1 committed and 2 aborted transactions.</span></p>
<p class="MsoNormal"><span lang="EN-US">Completed REDO pass for database &#39;ddb&#39;.</span></p>
<p class="MsoNormal"><span lang="EN-US">Recovery of database &#39;ddb&#39; will undo incomplete nested top actions.</span></p>
<p class="MsoNormal"><span lang="EN-US">Started filling free space info for database &#39;ddb&#39;.</span></p>
<p class="MsoNormal"><span lang="EN-US">Completed filling free space info for database &#39;ddb&#39;.</span></p>
<p class="MsoNormal"><span lang="EN-US">Started cleaning up the default data cache for database &#39;ddb&#39;.</span></p>
<p class="MsoNormal"><span lang="EN-US">Completed cleaning up the default data cache for database &#39;ddb&#39;.</span></p>
<p class="MsoNormal"><span lang="EN-US">Recovery complete.</span></p>
<p class="MsoNormal"><span lang="EN-US">Database &#39;ddb&#39; is now online.</span></p>
<p class="MsoNormal"><span lang="EN-US">---------- Operation on Database &#39;ddb&#39; Completed Successfully ----------</span></p>
</blockquote>
<p class="MsoNormal"><span style="font-family: 宋体;">现在，</span><span lang="EN-US">rep</span><span style="font-family: 宋体;">拥有的</span><span lang="EN-US">56</span><span style="font-family: 宋体;">个对象现在属于</span><span lang="EN-US">patrol</span><span style="font-family: 宋体;">用户了。开始验证一下吧。</span></p>
<blockquote>
<p class="MsoNormal"><span lang="EN-US">1&gt;use ddb</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;go</span></p>
<p class="MsoNormal"><span lang="EN-US">1&gt;select uid,count(*) from sysobjects</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;group by uid</span></p>
<p class="MsoNormal"><span lang="EN-US">3&gt;go</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;</span>uid</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;</span>----------- -----------</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>1<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>43</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>3<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>56</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">(2 rows affected)</span></p>
</blockquote>
<p class="MsoNormal"><span lang="EN-US">sysobjects</span><span style="font-family: 宋体;">表中</span><span lang="EN-US">uid</span><span style="font-family: 宋体;">由</span><span lang="EN-US">5</span><span style="font-family: 宋体;">变成</span><span lang="EN-US">3</span><span style="font-family: 宋体;">了。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">随便找两个表测试一下，</span></p>
<blockquote>
<p class="MsoNormal"><span lang="EN-US">1&gt;select top 2 id,user_name(uid) as username,name<span style="">&nbsp; </span>from sysobjects</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;where type=&#39;U&#39; and uid = 3</span></p>
<p class="MsoNormal"><span lang="EN-US">3&gt;go</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;</span>id<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>username</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>name</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;</span>----------- ------------------------------</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>---------------------------------------------------------------------------------------------------------------</span></p>
<p class="MsoNormal"><span lang="EN-US">------------------------------------------------------------------------------------------------------------------------</span></p>
<p class="MsoNormal"><span lang="EN-US">------------------------</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp; </span>1392004959 patrol</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>config</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp; </span>912003249 patrol</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>conn_properties</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">(2 rows affected)</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">1&gt;select count(*) from <b style="">patrol.config</b></span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;go</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;</span>-----------</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>25</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">(1 row affected)</span></p>
<p class="MsoNormal"><span lang="EN-US">1&gt;select count(*) from <b style="">patrol.conn_properties</b></span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt;go</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;</span>-----------</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>0</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">(1 row affected)</span></p>
</blockquote>
<p class="MsoNormal"><span style="font-family: 宋体;">查询这两个表的数据是正常的。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">切换到用</span><span lang="EN-US">patrol</span><span style="font-family: 宋体;">用户登录，</span></p>
<blockquote>
<p class="MsoNormal"><span lang="EN-US">C:\Documents and Settings\Administrator&gt;isql -U<b style="">patrol</b> -Psybase -Stest</span></p>
<p class="MsoNormal"><span lang="EN-US">1&gt; use ddb</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt; go</span></p>
<p class="MsoNormal"><span lang="EN-US">1&gt; select count(*) from config</span></p>
<p class="MsoNormal"><span lang="EN-US">2&gt; go</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;</span>-----------</span></p>
<p class="MsoNormal"><span lang="EN-US"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>25</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">(1 row affected)</span></p>
</blockquote>
<p class="MsoNormal"><span style="font-family: 宋体;">同样没有问题。再来验证一下，依赖用户表的</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">在用户表</span><span lang="EN-US">config</span><span style="font-family: 宋体;">上点右键，属性</span></p>
<p align="center" class="MsoNormal" style="text-align: center;"><span lang="EN-US" style=""><a href="https://www.dbainfo.net/wp-content/uploads/2010/12/view-table-properties.jpg" class="highslide-image" onclick="return hs.expand(this);"><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2010/12/view-table-properties.jpg" /></a><br />
	</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">点</span> <b style=""><span style="font-family: 宋体;">依赖性</span></b> <span style="font-family: 宋体;">按钮，</span></p>
<p align="center" class="MsoNormal" style="text-align: center;"><span lang="EN-US" style=""><br />
	</span></p>
<p align="center" class="MsoNormal" style="text-align: center;"><span lang="EN-US" style=""><img alt="" height="331" src="https://www.dbainfo.net/wp-content/uploads/2010/12/view-table-properties-references.jpg" width="324" /></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">可以看到一些存储过程依赖用户表</span><span lang="EN-US">config</span><span style="font-family: 宋体;">，没有什么问题。</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">查看依赖表</span><span lang="EN-US">config</span><span style="font-family: 宋体;">的其它对象用如下的</span><span lang="EN-US">SQL</span><span style="font-family: 宋体;">语句：</span></p>
<blockquote>
<p class="MsoNormal"><strong><span lang="EN-US">select U.name as username ,O.name as object_name, O.type as object_type</span></strong></p>
<p>&nbsp;</p>
<p class="MsoNormal"><strong><span lang="EN-US">from dbo.sysdepends D, dbo.sysobjects O, dbo.sysusers U </span></strong></p>
<p>&nbsp;</p>
<p class="MsoNormal"><strong><span lang="EN-US">where O.uid = U.uid and O.id = D.id and D.depid = object_id(&#39;patrol.config&#39;)</span></strong></p>
<p>&nbsp;</p>
<p class="MsoNormal"><strong><span lang="EN-US">--and O.type = &#39;P&#39;</span></strong></p>
</blockquote>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">查看自定义数据类型被引用的情况：</span></p>
<blockquote>
<p class="MsoNormal"><strong><span lang="EN-US">select user_name(T.uid) as datatype_owner,T.name as datatype_name, U.name as user_name,O.name as object_name,C.name as column_name ,O.type as object_type</span></strong></p>
<p>&nbsp;</p>
<p class="MsoNormal"><strong><span lang="EN-US">from dbo.systypes T, dbo.sysusers U, dbo.syscolumns C, dbo.systypes P,dbo.sysobjects O</span></strong></p>
<p>&nbsp;</p>
<p class="MsoNormal"><strong><span lang="EN-US">where T.uid = U.uid and T.usertype = C.usertype and C.id = O.id </span></strong></p>
<p>&nbsp;</p>
<p class="MsoNormal"><strong><span lang="EN-US">and T.usertype &gt;= 100 and T.type = P.type </span></strong></p>
<p>&nbsp;</p>
<p class="MsoNormal"><strong><span lang="EN-US">and P.usertype = (select min(usertype) from ddb.dbo.systypes where type = T.type )</span></strong></p>
</blockquote>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">后面还有一些工作要做，使用下面的</span><span lang="EN-US">SQL</span><span style="font-family: 宋体;">语句查看数据库</span><span lang="EN-US">ddb</span><span style="font-family: 宋体;">内部有哪些表有</span><span lang="EN-US">uid</span><span style="font-family: 宋体;">这一列。下面的思路可能有点片面，但是，我感觉</span><span lang="EN-US">Sybase ASE</span><span style="font-family: 宋体;">内与用户编号相关的应该用</span><span lang="EN-US">uid</span><span style="font-family: 宋体;">这个列名吧？</span></p>
<blockquote>
<p class="MsoNormal"><span style="color: rgb(255, 0, 0);"><strong><span lang="EN-US">select object_name(c.id) as object_name, o.type</span></strong></span></p>
<p class="MsoNormal"><span style="color: rgb(255, 0, 0);"><strong><span lang="EN-US">from dbo.syscolumns c,dbo.sysobjects o</span></strong></span></p>
<p class="MsoNormal"><span style="color: rgb(255, 0, 0);"><strong><span lang="EN-US">where&nbsp; c.id = o.id and c.name=&#39;uid&#39;</span></strong></span></p>
<p class="MsoNormal"><span style="color: rgb(255, 0, 0);"><strong><span lang="EN-US">&nbsp;go</span></strong></span></p>
</blockquote>
<p class="MsoNormal" style="text-align: center;"><span lang="EN-US" style=""><img alt="" height="300" src="https://www.dbainfo.net/wp-content/uploads/2010/12/dbcc-dbreboot-undocumented-command1.jpg" width="336" /><br />
	</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">与</span><span lang="EN-US">uid</span><span style="font-family: 宋体;">相关的对象有</span><span lang="EN-US">8</span><span style="font-family: 宋体;">个，排除最后一个视图：</span><span lang="EN-US">sysquerymetrics</span><span style="font-family: 宋体;">，需要处理其余</span><span lang="EN-US">7</span><span style="font-family: 宋体;">个系统表。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">在我们的这个例子中，&ldquo;移交&rdquo;对象的所有权不涉及到修改用户表</span><span lang="EN-US">sysusers</span><span style="font-family: 宋体;">数据的情况，对象信息表</span><span lang="EN-US">sysobjects</span><span style="font-family: 宋体;">在上面已经修改过了，在</span><span lang="EN-US">ASE15.0.3</span><span style="font-family: 宋体;">文档中</span><span lang="EN-US">sysencryptkeys</span><span style="font-family: 宋体;">被解释为留作将来使用，</span><span lang="EN-US">sysusermessages</span><span style="font-family: 宋体;">用来存储用户自定义消息，</span><span lang="EN-US">sysqueryplans</span><span style="font-family: 宋体;">用来存储抽象查询计划，</span><span lang="EN-US">sysquerymetrics</span><span style="font-family: 宋体;">用来存储性能监控指标，这三张表（</span><span lang="EN-US">sysusermessages</span><span style="font-family: 宋体;">、</span><span lang="EN-US">sysqueryplans</span><span style="font-family: 宋体;">、</span><span lang="EN-US">sysquerymetrics</span><span style="font-family: 宋体;">）都都没有数据。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">最后只剩下两张系统表：</span><span lang="EN-US">systype</span><span style="font-family: 宋体;">、</span><span lang="EN-US">sysprotects</span><span style="font-family: 宋体;">需要进一步处理。</span></p>
<blockquote>
<p class="MsoNormal"><strong><span lang="EN-US">select uid,usertype,name from dbo.systypes</span></strong></p>
<p class="MsoNormal"><strong><span lang="EN-US">where uid = 5</span></strong></p>
<p class="MsoNormal"><strong><span lang="EN-US">go</span><br />
		</strong></p>
</blockquote>
<p class="MsoNormal"><span style="font-family: 宋体;">发现系统表</span><span lang="EN-US">systypes</span><span style="font-family: 宋体;">存储了用户</span><span lang="EN-US">rep</span><span style="font-family: 宋体;">自定义的数据类型，</span></p>
<p align="center" class="MsoNormal" style="text-align: center;"><span lang="EN-US" style=""><img alt="" height="258" src="https://www.dbainfo.net/wp-content/uploads/2010/12/view-table-properties-references2.jpg" width="333" /><br />
	</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">仿照前面修改</span><span lang="EN-US">sysobjects</span><span style="font-family: 宋体;">中</span><span lang="EN-US">uid</span><span style="font-family: 宋体;">相似的方法，改成</span><span lang="EN-US">systypes</span><span style="font-family: 宋体;">存储的</span><span lang="EN-US">rep</span><span style="font-family: 宋体;">创建的数据类型归</span><span lang="EN-US">patrol</span><span style="font-family: 宋体;">拥有。</span></p>
<blockquote>
<p class="MsoNormal"><span lang="EN-US">use ddb</span></p>
<p class="MsoNormal"><span lang="EN-US">go</span></p>
<p class="MsoNormal"><span lang="EN-US">begin tran</span></p>
<p class="MsoNormal"><span lang="EN-US">go</span></p>
<p class="MsoNormal"><span lang="EN-US">update systypes</span></p>
<p class="MsoNormal"><span lang="EN-US">set uid = 3</span></p>
<p class="MsoNormal"><span lang="EN-US">where uid = 5</span></p>
<p class="MsoNormal"><span lang="EN-US">go</span></p>
<p class="MsoNormal"><span lang="EN-US">commit</span></p>
<p class="MsoNormal"><span lang="EN-US">go</span></p>
</blockquote>
<p class="MsoNormal"><span style="font-family: 宋体;">这样，</span><span lang="EN-US">rep</span><span style="font-family: 宋体;">自定义的数据类型就归</span><span lang="EN-US">patrol</span><span style="font-family: 宋体;">用户所有了。</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">下面查看关于</span><span lang="EN-US">sysproctects</span><span style="font-family: 宋体;">系统表的信息，这个表主要存储为用户、组和角色授予或撤消的权限的信息。</span></p>
<blockquote>
<p class="MsoNormal"><span lang="EN-US">select * from sysprotects</span></p>
<p class="MsoNormal"><span lang="EN-US">where uid = 5 or grantor = 5</span></p>
<p class="MsoNormal"><span lang="EN-US">go</span></p>
</blockquote>
<p align="center" class="MsoNormal" style="text-align: center;"><span lang="EN-US" style=""><img alt="" src="https://www.dbainfo.net/wp-content/uploads/2010/12/view-table-properties-references3.jpg" /><br />
	</span></p>
<p class="MsoNormal"><span lang="EN-US">grantor</span><span style="font-family: 宋体;">列表示授予者的意思。其实只要将授予者由原来的</span><span lang="EN-US">rep</span><span style="font-family: 宋体;">改成现在的</span><span lang="EN-US">patrol</span><span style="font-family: 宋体;">即可，既然以前</span><span lang="EN-US">rep</span><span style="font-family: 宋体;">没有授予给其他用户权限，那么此处不需要进行修改了。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">最后总结一下，在</span><span lang="EN-US">ASE15.0.3</span><span style="font-family: 宋体;">版本中，估计其它的</span><span lang="EN-US">ASE15.x</span><span style="font-family: 宋体;">也是大同小异，移交用户的所有权需要修改</span><span lang="EN-US">7</span><span style="font-family: 宋体;">个系统表的数据。在我的测试环境中仅修改了</span><span lang="EN-US">2</span><span style="font-family: 宋体;">个系统表（</span><span lang="EN-US">sysobjects</span><span style="font-family: 宋体;">和</span><span lang="EN-US">systypes</span><span style="font-family: 宋体;">）。这</span><span lang="EN-US">7</span><span style="font-family: 宋体;">个系统表是：</span><span lang="EN-US">sysobjects,systypes,sysusers,sysqueryplans,sysquerymetrics,sysprotects, sysencryptkeys</span><span style="font-family: 宋体;">。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">批量修改一遍就行了，</span></p>
<p class="MsoNormal"><span lang="EN-US">update sysobjects set uid = 3<span style="">&nbsp; </span>where uid = 5</span></p>
<p class="MsoNormal"><span lang="EN-US">update systypes set uid = 3<span style="">&nbsp; </span>where uid = 5</span></p>
<p class="MsoNormal"><span lang="EN-US">update sysusers set uid = 3<span style="">&nbsp; </span>where uid = 5</span></p>
<p class="MsoNormal"><span lang="EN-US">update sysqueryplans set uid = 3<span style="">&nbsp; </span>where uid = 5</span></p>
<p class="MsoNormal"><span lang="EN-US">update sysquerymetrics set uid = 3<span style="">&nbsp; </span>where uid = 5</span></p>
<p class="MsoNormal"><span lang="EN-US">update sysprotects set uid = 3<span style="">&nbsp; </span>where uid = 5</span></p>
<p class="MsoNormal"><s><span lang="EN-US">update sysencryptkeys set uid = 3<span style="">&nbsp; </span>where uid = 5</span></s><span style="font-family: 宋体;">这个暂时不需要!</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">最后重启</span><span lang="EN-US">ASE</span><span style="font-family: 宋体;">数据库服务器或者只重启修改的那个用户数据库就可以了。</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">有什么不妥当的地方，欢迎指正！</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<div style="clear: both; margin: 10px 0pt; border: 1px dashed rgb(153, 153, 153); font-size: 12px; padding: 5px 10px;">
<li>本文链接地址：<a href="https://www.dbainfo.net/one-undocument-dbcc-command-handover-table-ownership.htm">https://www.dbainfo.net/one-undocument-dbcc-command-handover-table-ownership.htm</a>；</li>
<li>本文为dbainfo个人原创，请在尊重作者劳动成果的前提下进行转载；</li>
<li>转载务必注明原始出处 : <a href="https://www.dbainfo.net/">Sybase数据库技术，数据库恢复专家</a>；</li>
<li>对《<a href="https://www.dbainfo.net/one-undocument-dbcc-command-handover-table-ownership.htm">使用重启数据库的未认证DBCC命令来移交表的所有权</a>》有何疑问或见解，请在本文下方发表；</li>
<li>对网站还有其他问题或建议，请提交在<a href="https://www.dbainfo.net/messages" target="_blank">留言板</a>，谢谢！</li>
</div>
<h2  class="related_post_title">相关文章</h2><ul class="related_post"><li>2013-09-05 -- <a href="https://www.dbainfo.net/find-not-grant-privilege-tables.htm" title="查找没有授予给其它用户权限的表以及权限">查找没有授予给其它用户权限的表以及权限</a> (0)</li><li>2012-09-26 -- <a href="https://www.dbainfo.net/config_dbccdb.htm" title="dbcc配置过程">dbcc配置过程</a> (0)</li><li>2010-08-23 -- <a href="https://www.dbainfo.net/direct-modify-sqlserver-data-page-by-dbcc-writepage.htm" title="利用dbcc writepage命令修改SQL SQLSERVER中的物理页面上的内容">利用dbcc writepage命令修改SQL SQLSERVER中的物理页面上的内容</a> (3)</li><li>2010-02-23 -- <a href="https://www.dbainfo.net/sybase-ase-flashback-table-to-before-drop-table.htm" title="成功恢复drop table的表内数据">成功恢复drop table的表内数据</a> (3)</li><li>2009-11-18 -- <a href="https://www.dbainfo.net/sql-server-dbcc-synta.htm" title="SQL SERVER DBCC命令解释">SQL SERVER DBCC命令解释</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>https://www.dbainfo.net/one-undocument-dbcc-command-handover-table-ownership.htm/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
