SQLServer之修改用戶自定義資料庫用戶

来源:https://www.cnblogs.com/vuenote/archive/2019/01/07/10235868.html
-Advertisement-
Play Games

修改用戶自定義資料庫用戶註意事項 預設架構將是伺服器為此資料庫用戶解析對象名時將搜索的第一個架構。 除非另外指定,否則預設架構將是此資料庫用戶創建的對象所屬的架構。 如果用戶具有預設架構,則將使用預設架構。 如果用戶不具有預設架構,但該用戶是具有預設架構的組的成員,則將使用該組的預設架構。 如果用戶 ...


修改用戶自定義資料庫用戶註意事項

預設架構將是伺服器為此資料庫用戶解析對象名時將搜索的第一個架構。 除非另外指定,否則預設架構將是此資料庫用戶創建的對象所屬的架構。

如果用戶具有預設架構,則將使用預設架構。 如果用戶不具有預設架構,但該用戶是具有預設架構的組的成員,則將使用該組的預設架構。 如果用戶不具有預設架構而且是多個組的成員,則該用戶的預設架構將是具有最低 principle_id 的 Windows 組的架構和一個顯式設置的預設架構。 如果不能為用戶確定預設架構,則將使用 dbo 架構。

可以將 DEFAULT_SCHEMA 設置為資料庫中當前不存在的架構。 因此,可以在創建架構之前將 DEFAULT_SCHEMA 分配給用戶。

不能為映射到證書或非對稱密鑰的用戶指定 DEFAULT_SCHEMA。

如果用戶是 sysadmin 固定伺服器角色的成員,則忽略 DEFAULT_SCHEMA 的值。 sysadmin 固定伺服器角色的所有成員都有預設架構 dbo

僅當新用戶名的 SID 與在資料庫中記錄的 SID 匹配時,才能更改映射到 Windows 登錄名或組的用戶的名稱。此檢查將幫助防止資料庫中的 Windows 登錄名欺騙。

使用 WITH LOGIN 子句可以將用戶重新映射到一個不同的登錄名。 不能使用此子句重新映射以下用戶:不具有登錄名的用戶、映射到證書的用戶或映射到非對稱密鑰的用戶。 只能重新映射 SQL 用戶和 Windows 用戶(或組)。 不能使用 WITH LOGIN 子句更改用戶類型,例如將 Windows 帳戶更改為 SQL Server 登錄名。

如果滿足以下條件,則用戶的名稱會自動重命名為登錄名。

  • 用戶是一個 Windows 用戶。

  • 名稱是一個 Windows 名稱(包含反斜杠)。

  • 未指定新名稱。

  • 當前名稱不同於登錄名。

    如果不滿足上述條件,則不會重命名用戶,除非調用方另外調用了 NAME 子句。

被映射到 SQL Server 登錄名、證書或非對稱密鑰的用戶名不能包含反斜杠字元 (\)。

更改用戶名需要具有 ALTER ANY USER 許可權。

更改用戶的目標登錄名需要對資料庫擁有 CONTROL 許可權。

若要更改對資料庫擁有 CONTROL 許可權的用戶名名稱,則需要對資料庫擁有 CONTROL 許可權。

更改預設架構或語言需要對用戶擁有 ALTER 許可權。 用戶可更改自己的預設架構或語言。

使用SSMS資料庫管理工具修改用戶自定義資料庫用戶

1、連接伺服器-》在對象資源管理器視窗-》展開資料庫-》選擇資料庫並展開-》展開安全性-》展開用戶-》選擇要修改的用戶右鍵點擊-》選擇屬性。

2、在資料庫用戶彈出框-》點擊常規-》修改用戶預設架構。

3、在資料庫用戶彈出框-》點擊擁有的架構-》添加此用戶擁有的架構。

4、在資料庫用戶彈出框-》點擊成員身份-》添加或者刪除資料庫角色成員身份。

5、在資料庫用戶彈出框-》點擊安全對象-》點擊搜索添加安全對象-》點擊安全對象修改安全對象擁有的許可權。

6、在資料庫用戶彈出框-》點擊擴展屬性-》添加或者刪除擴展屬性。

使用T-SQL腳本修改用戶自定義資料庫用戶

語法

--創建用戶自定義資料庫用戶
--聲明資料庫引用
use database_name;
go
--修改用戶自定義資料庫用戶
alter user user_name
with 
name=new_user_name,
default_schema={ schemaname | null },
login=login_name,
password='password' [old_password='old_password'],
default_language={ none | <lcid> | <language_name> | <language alias> },
allow_encrypted_value_modifications={ on | off } 

--添加擁有的架構
use database_name;
go
alter authorization on schema::[db_accessadmin] to user_name;
go
alter authorization on schema::[db_backupoperator] to user_name;
go
alter authorization on schema::[db_datareader] to user_name;
go
alter authorization on schema::[db_datawriter] to user_name;
go
alter authorization on schema::[db_ddladmin] to user_name;
go
alter authorization on schema::[db_denydatareader] to user_name;
go
alter authorization on schema::[db_denydatawriter] to user_name;
go
alter authorization on schema::[db_owner] to user_name;
go
alter authorization on schema::[db_securityadmin] to user_name;
go
alter authorization on schema::[guest] to user_name;
go
刪除擁有的架構(把架構付給自己就行了)
go
alter authorization on schema::[db_accessadmin] to db_accessadmin;
go
alter authorization on schema::[db_backupoperator] to db_backupoperator;
go
alter authorization on schema::[db_datareader] to db_datareader;
go
alter authorization on schema::[db_datawriter] to db_datawriter;
go
alter authorization on schema::[db_ddladmin] to db_ddladmin;
go
alter authorization on schema::[db_denydatareader] to db_denydatareader;
go
alter authorization on schema::[db_denydatawriter] to db_denydatawriter;
go
alter authorization on schema::[db_owner] to db_owner;
go
alter authorization on schema::[db_securityadmin] to db_securityadmin;
go
alter authorization on schema::[guest] to guest;
go

--添加成員身份
use database_name;
go
alter role [db_accessadmin] add member user_name;
go
alter role [db_backupoperator] add member user_name;
go
alter role [db_datareader] add member user_name;
go
alter role [db_datawriter] add member user_name;
go
alter role [db_ddladmin] add member user_name;
go
alter role [db_denydatareader] add member user_name;
go
alter role [db_denydatawriter] add member user_name;
go
alter role [db_owner] add member user_name;
go
alter role [db_securityadmin] add member user_name;
go
--刪除成員身份
use database_name;
go
alter role [db_accessadmin] drop member user_name;
go
alter role [db_backupoperator] drop member user_name;
go
alter role [db_datareader] drop member user_name;
go
alter role [db_datawriter] drop member user_name;
go
alter role [db_ddladmin] drop member user_name;
go
alter role [db_denydatareader] drop member user_name;
go
alter role [db_denydatawriter] drop member user_name;
go
alter role [db_owner] drop member user_name;
go
alter role [db_securityadmin] drop member user_name;
go

--安全對象
--use database_name;
--go
--授予許可權
--備份日誌
grant backup log to user_name;
go
--備份資料庫
grant backup database to user_name;
go
--插入
grant insert to user_name;
go
--查看定義
grant view definition to user_name;
go
--查看任意列加密密鑰定義
grant view any column encryption key definition to user_name;
go
--查看任意列主密鑰定義
grant view any column master key definition to user_name;
go
--查看資料庫狀態
grant view database state to user_name;
go
--撤銷掩碼
grant unmask to user_name;
go
--創建xml架構集合
grant create xml schema collection to user_name;
go
--創建表
grant create table to user_name;
go
--創建程式集
grant create assembly to user_name;
go
--創建隊列
GRANT CREATE QUEUE to user_name;
go
--創建對稱密鑰
grant create symmetric key to user_name;
go
--創建非對稱密鑰
grant create asymmetric key to user_name;
go
--創建服務
grant create service to user_name;
go
--創建規則
grant create rule to user_name;
go
--創建過程
grant create procedure to user_name;
go
--創建函數
grant create function to user_name;
go
--創建架構
grant create schema to user_name;
go
--創建角色
grant create role to user_name;
go
--創建類型
grant create type to user_name;
go
--創建路由
grant create route to user_name;
go
--創建預設值
grant create default to user_name;
go
--創建全文目錄
grant create fulltext catalog to user_name;
go
--創建視圖
grant create view to user_name;
go
--創建資料庫DDL事件通知
grant create database dll event notification to user_name;
go
--創建同義詞
grant create synonym to user_name;
go
--創建消息類型
grant create message type to user_name;
go
--創建遠程服務綁定
grant create remote service binding to user_name;
go
--創建約定
grant create contract to user_name;
go
--創建證書
grant create certificate to user_name;
go
--訂閱查詢通知
grant subscribe query notifications to user_name;
go
--更改
grant alter to user_name;
go
--更改任何外部數據源
grant alter any external data source to user_name;
go
--更改任何外部文件格式
grant alter any external file format to user_name;
go
--更改任何掩碼
grant alter any mask to user_name;
go
--更改任意安全策略
grant alter any security policy to user_name;
go
--更改任意程式集
grant alter any assembly to user_name;
go
--更改任意對稱密鑰
grant alter any symmetric key to user_name;
go
--更改任意非對稱密鑰
grant alter any asymmetric key to user_name;
go
--更改任意服務
grant alter any service to user_name;
go
--更改任意架構
grant alter any schema to user_name;
go
--更改任意角色
grant alter any role to user_name;
go
--更改任意路由
grant alter any route to user_name;
go
--更改任意全文目錄
grant alter any fulltext catalog to user_name;
go
--更改任意數據空間
grant alter any dataspace to user_name;
go
--更改任意資料庫DDL資料庫觸發器
grant alter any database ddl trigger to user_name;
go
--更改任意資料庫審核
grant alter any database audit to user_name;
go
--更改任意資料庫事件通知
grant alter any database event notification to user_name;
go
--更改任意消息類型
grant alter any message type to user_name;
go
--更改任意應用程式角色
grant alter any application role to user_name;
go
--更改任意用戶
grant alter any user to user_name;
go
--更改任意遠程服務綁定
grant alter any remote service binding to user_name;
go
--更改任意約定
grant alter any contract to user_name;
go
--更改任意證書
grant alter any certificate to user_name;
go
--更新
grant update to user_name;
go
--檢查點
grant checkpoint to user_name;
go
--接管所有權
grant take ownership to user_name;
go
--控制
grant control to user_name;
go
--控制聚合
grant create aggregate to user_name;
go
--連接
grant connect to user_name;
go
--連接複製
grant connect replication to user_name;
go
--刪除
grant delete to user_name;
go
--身份驗證
grant authenticate to user_name;
go
--顯示計劃
grant showplan to user_name;
go
--選擇
grant select to user_name;
go
--引用
grant references to user_name;
go
--執行
grant execute to user_name;
go

--授予並允許轉售許可權
--安全對象
--use database_name;
--go
--備份日誌
grant backup log to user_name with grant option;
go
--備份資料庫
grant backup database to user_name with grant option;
go
--插入
grant insert to user_name with grant option;
go
--查看定義
grant view definition to user_name with grant option;
go
--查看任意列加密密鑰定義
grant view any column encryption key definition to user_name with grant option;
go
--查看任意列主密鑰定義
grant view any column master key definition to user_name with grant option;
go
--查看資料庫狀態
grant view database state to user_name with grant option;
go
--撤銷掩碼
grant unmask to user_name with grant option;
go
--創建xml架構集合
grant create xml schema collection to user_name with grant option;
go
--創建表
grant create table to user_name with grant option;
go
--創建程式集
grant create assembly to user_name with grant option;
go
--創建隊列
GRANT CREATE QUEUE to user_name with grant option;
go
--創建對稱密鑰
grant create symmetric key to user_name with grant option;
go
--創建非對稱密鑰
grant create asymmetric key to user_name with grant option;
go
--創建服務
grant create service to user_name with grant option;
go
--創建規則
grant create rule to user_name with grant option; 
go
--創建過程
grant create procedure to user_name with grant option;
go								    
--創建函數
grant create function to user_name with grant option;
go
--創建架構
grant create schema to user_name with grant option;
go
--創建角色
grant create role to user_name with grant option;
go
--創建類型
grant create type to user_name with grant option;
go
--創建路由
grant create route to user_name with grant option;
go
--創建預設值
grant create default to user_name with grant option;
go
--創建全文目錄
grant create fulltext catalog to user_name with grant option;
go
--創建視圖
grant create view to user_name with grant option;
go
--創建資料庫DDL事件通知
grant create database dll event notification to user_name with grant option;
go
--創建同義詞
grant create synonym to user_name with grant option;
go
--創建消息類型
grant create message type to user_name with grant option;
go
--創建遠程服務綁定
grant create remote service binding to user_name with grant option;
go
--創建約定
grant create contract to user_name with grant option;
go
--創建證書
grant create certificate to user_name with grant option;
go
--訂閱查詢通知
grant subscribe query notifications to user_name with grant option;
go
--更改
grant alter to user_name with grant option;
go
--更改任何外部數據源
grant alter any external data source to user_name with grant option;
go
--更改任何外部文件格式
grant alter any external file format to user_name with grant option;
go
--更改任何掩碼
grant alter any mask to user_name with grant option;
go
--更改任意安全策略
grant alter any security policy to user_name with grant option;
go
--更改任意程式集
grant alter any assembly to user_name with grant option;
go
--更改任意對稱密鑰
grant alter any symmetric key to user_name with grant option;
go
--更改任意非對稱密鑰
grant alter any asymmetric key to user_name with grant option;
go
--更改任意服務
grant alter any service to user_name;
go
--更改任意架構
grant alter any schema to user_name with grant option;
go
--更改任意角色
grant alter any role to user_name with grant option;
go
--更改任意路由
grant alter any route to user_name with grant option;
go
--更改任意全文目錄
grant alter any fulltext catalog to user_name with grant option;
go
--更改任意數據空間
grant alter any dataspace to user_name with grant option;
go
--更改任意資料庫DDL資料庫觸發器
grant alter any database ddl trigger to user_name with grant option;
go
--更改任意資料庫審核
grant alter any database audit to user_name with grant option;
go
--更改任意資料庫事件通知
grant alter any database event notification to user_name with grant option;
go
--更改任意消息類型
grant alter any message type to user_name with grant option;
go
--更改任意應用程式角色
grant alter any application role to user_name with grant option;
go
--更改任意用戶
grant alter any user to user_name with grant option;
go
--更改任意遠程服務綁定
grant alter any remote service binding to user_name with grant option;
go
--更改任意約定
grant alter any contract to user_name with grant option;
go
--更改任意證書
grant alter any certificate to user_name with grant option;
go
--更新
grant update to user_name with grant option;
go
--檢查點
grant checkpoint to user_name with grant option;
go
--接管所有權
grant take ownership to user_name with grant option;
go
--控制
grant control to user_name with grant option;
go
--控制聚合
grant create aggregate to user_name with grant option;
go
--連接
grant connect to user_name with grant option;
go
--連接複製
grant connect replication to user_name with grant option;
go
--刪除
grant delete to user_name with grant option;
go
--身份驗證
grant authenticate to user_name with grant option;
go
--顯示計劃
grant showplan to user_name with grant option;
go
--選擇
grant select to user_name with grant option;
go
--引用
grant references to user_name with grant option;
go
--執行
grant execute to user_name with grant option;
go

 --拒絕許可權
--安全對象
use database_name;
go
--備份日誌
deny backup log to user_name;
go
--備份資料庫
deny backup database to user_name;
go
--插入
deny insert to user_name;
go
--查看定義
deny view definition to user_name;
go
--查看任意列加密密鑰定義
deny view any column encryption key definition to user_name;
go
--查看任意列主密鑰定義
deny view any column master key definition to user_name;
go
--查看資料庫狀態
deny view database state to user_name;
go
--撤銷掩碼
deny unmask to user_name;
go
--創建xml架構集合
deny create xml schema collection to user_name;
go
--創建表
deny create table to user_name;
go
--創建程式集
deny create assembly to user_name;
go
--創建隊列
deny CREATE QUEUE to user_name;
go
--創建對稱密鑰
deny create symmetric key to user_name;
go
--創建非對稱密鑰
deny create asymmetric key to user_name;
go
--創建服務
deny create service to user_name;
go
--創建規則
deny create rule to user_name;
go
--創建過程
deny create procedure to user_name;
go
--創建函數
deny create function to user_name;
go
--創建架構
deny create schema to user_name;
go
--創建角色
deny create role to user_name;
go
--創建類型
deny create type to user_name;
go
--創建路由
deny create route to user_name;
go
--創建預設值
deny create default to user_name;
go
--創建全文目錄
deny create fulltext catalog to user_name;
go
--創建視圖
deny create view to user_name;
go
--創建資料庫DDL事件通知
deny create database dll event notification to user_name;
go
--創建同義詞
deny create synonym to user_name;
go
--創建消息類型
deny create message type to user_name;
go
--創建遠程服務綁定
deny create remote service binding to user_name;
go
--創建約定
deny create contract to user_name;
go
--創建證書
deny create certificate to user_name;
go
--訂閱查詢通知
deny subscribe query notifications to user_name;
go
--更改
deny alter to user_name;
go
--更改任何外部數據源
deny alter any external data source to user_name;
go
--更改任何外部文件格式
deny alter any external file format to user_name;
go
--更改任何掩碼
deny alter any mask to user_name;
go
--更改任意安全策略
deny alter any security policy to user_name;
go
--更改任意程式集
deny alter any assembly to user_name;
go
--更改任意對稱密鑰
deny alter any symmetric key to user_name;
go
--更改任意非對稱密鑰
deny alter any asymmetric key to user_name;
go
--更改任意服務
deny alter any service to user_name;
go
--更改任意架構
deny alter any schema to user_name;
go
--更改任意角色
deny alter any role to user_name;
go
--更改任意路由
deny alter any route to user_name;
go
--更改任意全文目錄
deny alter any fulltext catalog to user_name;
go
--更改任意數據空間
deny alter any dataspace to user_name;
go
--更改任意資料庫DDL資料庫觸發器
deny alter any database ddl trigger to user_name;
go
--更改任意資料庫審核
deny alter any database audit to user_name;
go
--更改任意資料庫事件通知
deny alter any database event notification to user_name;
go
--更改任意消息類型
deny alter any message type to user_name;
go
--更改任意應用程式角色
deny alter any application role to user_name;
go
--更改任意用戶
deny alter any user to user_name;
go
--更改任意遠程服務綁定
deny alter any remote service binding to user_name;
go
--更改任意約定
deny alter any contract to user_name;
go
--更改任意證書
deny alter any certificate to user_name;
go
--更新
deny update to user_name;
go
--檢查點
deny checkpoint to user_name;
go
--接管所有權
deny take ownership to user_name;
go
--控制
deny control to user_name;
go
--控制聚合
deny create aggregate to user_name;
go
--連接
deny connect to user_name;
go
--連接複製
deny connect replication to user_name;
go
--刪除
deny delete to user_name;
go
--身份驗證
deny authenticate to user_name;
go
--顯示計劃
deny showplan to user_name;
go
--選擇
deny select to user_name;
go
--引用
deny references to user_name;
go
--執行
deny execute to user_name;
go

--擴展屬性
--聲明資料庫引用
--use database_name
go
--添加擴展註釋
exec sys.sp_addextendedproperty	@name=N'description_name', @value=N'description_value', @level0type=N'user',@level0name=N'user_name';
go
--刪除擴展註釋
exec sys.sp_dropextendedproperty @name=N'description_name', @level0type=N'user',@level0name=N'user_name'
go

語法註釋

--database_name
--資料庫名稱
--user_name
--指定在此資料庫中用於識別該用戶的名稱。
--login=login_name
--通過將用戶的安全標識符(SID)更改為另一個登錄名的SID,使用戶重新映射到該登錄名。
--如果ALTER USER語句是SQL批處理中唯一的語句,則Windows Azure SQL Database將支持WITH LOGIN子句。
--如果 ALTER USER 語句不是SQL批處理中唯一的語句或在動態SQL中執行,則不支持WITH LOGIN子句。
--name=new_user_name
--指定此用戶的新名稱。 newUserName 不能已存在於當前資料庫中。
--default_schema={ schemaname | null }
--指定伺服器在解析此用戶的對象名時將搜索的第一個架構。
--將預設架構設置為NULL將從Windows組中刪除預設架構。Windows用戶不能使用NULL選項。
--password='password' [old_password='old_password']
--適用範圍:SQL Server 2012 (11.x)到SQL Server 2017、SQL Database。
--指定正在更改的用戶的密碼。 密碼是區分大小寫的。
--old_password='old_password'
--適用範圍:SQL Server 2012 (11.x)到SQL Server 2017、SQL Database。
--將替換為“password”的當前用戶密碼。密碼是區分大小寫的。
--除非擁有ALTER ANY USER許可權,否則需要具有OLD_PASSWORD才能更改密碼。需要OLD_PASSWORD可防止擁有IMPERSONATION許可權的用戶更改密碼。
--此選項僅適用於包含的用戶。
--default_language={ none | <lcid> | <language_name> | <language alias> }
--適用範圍: SQL Server 2012 (11.x) 到 SQL Server 2017。
--指定將指派給用戶的預設語言。如果將此選項設置為NONE,則預設語言將設置為資料庫的當前預設語言。如果之後更改資料庫的預設語言,用戶的預設語言將保持不變。
--DEFAULT_LANGUAGE可以為本地 ID (lcid)、語言的名稱或語言別名。
--此選項只能在包含資料庫中指定,且只能用於包含的用戶。
--allow_encrypted_value_modifications={ on | off }
--適用範圍:SQL Server 2016 (13.x)到SQL Server 2017、SQL Database。
--取消在大容量複製操作期間對伺服器進行加密元數據檢查。 這使用戶能夠在表或資料庫之間大容量複製加密數據,而無需對數據進行解密。 預設為 OFF。
--description_name
--用戶自定義用戶註釋名稱
--description_value
--用戶自定義用戶註釋值

示例

/**********示例**********/
--聲明資料庫引用
use [testss];
go

--添加擁有的架構
alter authorization on schema::[db_accessadmin] to test1;
go
--刪除擁有的架構
alter authorization on schema::[db_accessadmin] to db_accessadmin;
go

--添加成員身份
alter role [db_backupoperator] add member test1;
go
alter role [db_datareader] add member test1;
go
--刪除成員身份
alter role [db_backupoperator] drop member test1;
go
alter role [db_datareader] drop member test1;
go

--安全對象
--授予許可權
--備份日誌
grant backup log to test1;
go

--擴展屬性
--刪除擴展屬性
exec sys.sp_dropextendedproperty @name=N'tests_description', @level0type=N'user',@level0name=N'test1'
go
--添加擴展註釋
exec sys.sp_addextendedproperty	@name=N'tests_description', @value=N'用戶自定義用戶描述', @level0type=N'user',@level0name=N'test1';
go

--修改當前資料庫用戶自定義用戶屬性
alter user test1
with 
name=test1,
default_schema=dbo,
--login=tests,
--password='1234' old_password='1234',
--default_language=English,
allow_encrypted_value_modifications=off;
go

示例結果

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一 基礎環境 節點 系統版本 MySQL版本 業務IP 心跳IP Master CentOS 7.5 MySQL 5.6 192.168.88.100 192.168.77.100 Slave CentOS 7.5 MySQL 5.6 192.168.88.101 192.168.77.101 VI ...
  • 1、Docker的四種網路模式 (1)docker四種網路模式如下: Bridge contauner 橋接式網路模式 Host(open) container 開放式網路模式 Container(join) container 聯合掛載式網路模式,是host網路模式的延伸 None(Close) ...
  • Linux 文件夾相關常用命令 查看 ls -la -l 列出詳細信息 -a 列出全部,包括.和.. 刪除 rm <folder> -rf -r 就是向下遞歸,不管有多少級目錄,一併刪除-f 直接強行刪除,不作任何提示的意思 創建 mkdir -m 770 <folder> -m owner許可權/o ...
  • (1)使用詳情: **************************** * 操作說明 * **************************** 1、修改Config文件夾中的Setting.json里的虛擬機設置(包括虛擬機存放的位置,運行記憶體和vhd的大小) Setting.json: 2 ...
  • 一 基礎環境 節點 系統版本 MySQL版本 業務IP 心跳IP Master01 CentOS 7.5 MySQL 5.6 192.168.88.100 192.168.77.100 Master02 CentOS 7.5 MySQL 5.6 192.168.88.101 192.168.77.1 ...
  • 1.REDO LOG 是用來做資料庫crash recovery的,是保證資料庫數據正確性、完整性及持久性的重要機制之一。在資料庫操作中,它保存了對InnoDB表中數據的修改記錄,所以也叫日誌文件。 2.日誌文件內部也是按照大小相等的頁面切割,頁面大小為512個位元組(回顧下數據頁是多大? )。考慮到 ...
  • 繼續上節的索引,這次主要總結oracle資料庫的許可權和角色問題! ...
  • 在優化有問題的查詢時,目標應該是找到一個更優的方法獲得實際需要的結果,而不是一定總是要求從MySQL獲取一模一樣的結果集 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...