sqlserver 修改数据库表所有者
批量修改: EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' ' 单个修改: exec sp_changeobjectowner '要改的表名','dbo' 只有所有者才能更改表的所有者 有很服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38 对
批量修改:
EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' '
单个修改:
exec sp_changeobjectowner '要改的表名','dbo'
只有所有者才能更改表的所有者
有很服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'user' 不存在或不是对此操作有效的对象。
多表是导入的 一些所有者的密码都不记得就会产生
觉得是不是没有原来的所有者 我加了一下 嘿嘿 正常!
exec sp_changeobjectowner '表所有者.要改的表名','dbo'
就不需表的所有者才能修改了
补充:
--执行这个语句,就可以把当前库的所有表的所有者改为dbo
exec sp_msforeachtable 'sp_changeobjectowner ''?'', ''dbo'''
--如果是要用户表/存储过程/视图/触发器/自定义函数一齐改,则用游标(不要理会错误提示)
declare tb cursor local for
select 'sp_changeobjectowner ''['+replace(user_name(uid),']',']]')+'].['
+replace(name,']',']]')+']'',''dbo'''
from sysobjects
where xtype in('U','V','P','TR','FN','IF','TF') and status>=0
open tb
declare @s nvarchar(4000)
fetch tb into @s
while @@fetch_status=0
begin
exec(@s)
fetch tb into @s
end
close tb
deallocate tb
go
1. sp_changeobjectowner
更改当前数据库中对象的所有者。
语法
sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'
参数
[@objname =] 'object'
当前数据库中现有的表、视图或存储过程的名称。object 的数据类型为 nvarchar(517),没有默认值。object 可用现有对象所有者限定,格式为 existing_owner.object。
[@newowner =] 'owner'
即将成为对象的新所有者的安全帐户的名称。owner 的数据类型为 sysname,没有默认值。owner 必须是当前数据库中有效的 Microsoft? SQL Server? 用户或角色或 Microsoft Windows NT? 用户或组。指定 Windows NT 用户或组时,请指定 Windows NT 用户或组在数据库中已知的名称(用 sp_grantdbaccess 添加)。
返回代码值
0(成功)或 1(失败)
注释
对象所有者(或拥有对象的组或角色的成员)对对象有特殊的权限。对象所有者可以执行任何与对象有关的 Transact-SQL 语句(例如 Insert、Update、Delete、Select 或 EXECUTE),也可以管理对象的权限。
如果拥有对象的安全帐户必须要除去,但同时要保留该对象,请使用 sp_changeobjectowner 更改对象所有者。该过程从对象中删除所有现有权限。在运行 sp_changeobjectowner 之后,需要重新应用要保留的任何权限。
由于这个原因,建议在运行 sp_changeobjectowner 之前,编写现有权限的脚本。一旦更改了对象的所有权,可能要使用该脚本重新应用权限。在运行该脚本之前需要在权限脚本中修改对象所有者。有关编写数据库脚本的更多信息,请参见编写数据库文档和脚本。
可以使用 sp_changedbowner 更改数据库的所有者。
权限
只有 sysadmin 固定服务器角色和 db_owner 固定数据库角色成员,或既是 db_ddladmin 固定数据库角色又是 db_securityadmin 固定数据库角色的成员,才能执行 sp_changeobjectowner。
示例
下面的示例将 authors 表的所有者改为 Corporate\GeorgeW。
EXEC sp_changeobjectowner 'authors', 'Corporate\GeorgeW'
请参见
改变数据库所有者:sp_changedbowner
------------------------------以上摘自sql server 的联机丛书
注意:
使用sqlserver2000改变对象(object)(如Table,SP,View)的所有者(owner)时,需要注意一点:
如果对象改变前的owner为dbo,则直接用:exec sp_changeobjectowner 对象名,新的所有者名就可以成功。如果再需要改变该对象的所有者,则要用如下语法:
exec sp_changeobjectowner "[所有者].[对象名]",新的所有者。注意,双引号不可省略,否则提示objectname does not exist。
EXEC sp_changeobjectowner 'cqadmin.authors', 111
2.建与原表结构相同表,然后把数据从原表插入到新表,操作方法:
在sql server企业管理器中选择原表点右键,选择“所有任务/生存SQL脚本”,保存生成的脚本,在脚本中把表的原所有者改成新所有者。然后再把该脚本运行一遍,数据库中就新生成了一个表,所有者是新所有者,原来的表还在数据库中没有被替换。新表和旧表 表名相同,所有者不同,此时的新表中没有数据。
然后再运行下面的语句往新表中插入数据:
Insert INTO CQAdmin.m_actiondef //新所有者.新表名
Select *
FROM RegaltecDefSchema. CQAdministrator.m_actiondef // 数据库名.旧所有者.旧表名
运行完了就做完了,可以把旧表删掉,也可以留着。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











가져오기 단계는 다음과 같습니다. MDF 파일을 SQL Server의 데이터 디렉터리(일반적으로 C:\Program Files\Microsoft SQL Server\MSSQL\DATA)에 복사합니다. SSMS(SQL Server Management Studio)에서 데이터베이스를 열고 연결을 선택합니다. 추가 버튼을 클릭하고 MDF 파일을 선택합니다. 데이터베이스 이름을 확인하고 확인 버튼을 클릭합니다.

SQL Server 설치가 실패하면 다음 단계에 따라 정리할 수 있습니다. SQL Server 제거 레지스트리 키 삭제 파일 및 폴더 삭제 컴퓨터를 다시 시작합니다.

MySQL과 SQL Server의 구문 차이는 주로 데이터베이스 개체, 데이터 유형, SQL 문 및 기타 측면에 반영됩니다. 데이터베이스 개체의 차이점에는 저장소 엔진, 파일 그룹 지정 방법, 인덱스 및 제약 조건 생성 등이 포함됩니다. 데이터 유형의 차이에는 숫자 유형, 문자 유형, 날짜 및 시간 유형의 차이가 포함됩니다. SQL 문의 차이점은 결과 집합 제한, 데이터 삽입, 업데이트 및 삭제 작업 등에 반영됩니다. 다른 차이점으로는 ID 열, 뷰 및 저장 프로시저를 만드는 방법이 있습니다. 다양한 데이터베이스 시스템을 사용할 때 오류를 방지하려면 이러한 차이점을 이해하는 것이 중요합니다.

불완전한 삭제로 인해 SQL Server를 다시 설치할 수 없는 문제는 다음 단계를 통해 해결할 수 있습니다. 파일 및 레지스트리 항목을 수동으로 삭제하고, SQL Server 설치 및 제거 도구를 사용하고, Windows 이벤트 뷰어를 확인하고, 컴퓨터를 다시 시작합니다. ; SQL Server를 다시 설치합니다.

Hibernate 다형성 매핑은 상속된 클래스를 데이터베이스에 매핑할 수 있으며 다음 매핑 유형을 제공합니다. Join-subclass: 상위 클래스의 모든 열을 포함하여 하위 클래스에 대한 별도의 테이블을 생성합니다. 클래스별 테이블: 하위 클래스별 열만 포함하는 하위 클래스에 대한 별도의 테이블을 만듭니다. Union-subclass: Joined-subclass와 유사하지만 상위 클래스 테이블이 모든 하위 클래스 열을 통합합니다.

Navicat 데이터베이스 구성 파일이 저장되는 위치는 운영 체제에 따라 다릅니다: Windows: 사용자별 경로는 %APPDATA%\PremiumSoft\Navicat\macOS: 사용자별 경로는 ~/Library/Application Support/Navicat\Linux: 사용자별 경로는 ~/ .config/navicat\입니다. 구성 파일 이름에는 navicat_mysql.ini와 같은 연결 유형이 포함되어 있습니다. 이러한 구성 파일은 데이터베이스 연결 정보, 쿼리 기록 및 SSH 설정을 저장합니다.

Apple의 최신 iOS18, iPadOS18 및 macOS Sequoia 시스템 릴리스에는 사진 애플리케이션에 중요한 기능이 추가되었습니다. 이 기능은 사용자가 다양한 이유로 손실되거나 손상된 사진과 비디오를 쉽게 복구할 수 있도록 설계되었습니다. 새로운 기능에는 사진 앱의 도구 섹션에 '복구됨'이라는 앨범이 도입되었습니다. 이 앨범은 사용자가 기기에 사진 라이브러리에 포함되지 않은 사진이나 비디오를 가지고 있을 때 자동으로 나타납니다. "복구된" 앨범의 출현은 데이터베이스 손상으로 인해 손실된 사진과 비디오, 사진 라이브러리에 올바르게 저장되지 않은 카메라 응용 프로그램 또는 사진 라이브러리를 관리하는 타사 응용 프로그램에 대한 솔루션을 제공합니다. 사용자는 몇 가지 간단한 단계만 거치면 됩니다.

HTML은 데이터베이스를 직접 읽을 수 없지만 JavaScript 및 AJAX를 통해 읽을 수 있습니다. 단계에는 데이터베이스 연결 설정, 쿼리 보내기, 응답 처리 및 페이지 업데이트가 포함됩니다. 이 기사에서는 JavaScript, AJAX 및 PHP를 사용하여 MySQL 데이터베이스에서 데이터를 읽는 실제 예제를 제공하고 쿼리 결과를 HTML 페이지에 동적으로 표시하는 방법을 보여줍니다. 이 예제에서는 XMLHttpRequest를 사용하여 데이터베이스 연결을 설정하고 쿼리를 보내고 응답을 처리함으로써 페이지 요소에 데이터를 채우고 데이터베이스를 읽는 HTML 기능을 실현합니다.
