보드 > 모든 보드 보기 > 보드검색
우측 추가 설정 ... 버튼 클릭 삭제 클릭
My work, life and hobby
vba에서 find 함수를 찾는데 이어서 찾기 위해 findnext를 쓴다.
하지만 더 이상 찾는 데이터가 없으면 에러이다.
이 경우 에러를 뱉고 프로그램이 멈추기 때문에 따로 처리가 필요하다.
아래와 같음
1 2 3 4 5 6 7 8 9 | Dim wb As Excel.Workbook, oRange As Range ' FindNext 함수의 에러가 발생할 수 있으므로 객체에 넣는다 ' find 구문 있어야함 (생략) Set oRange = wb.Worksheets(i).Cells.FindNext(After:=ActiveCell) ' 다음 데이터가 없으면 oRange값은 Nothing이 If Not oRange Is Nothing Then ' FindNext가 정상일 경우 처리 End If |
SSRS의 텍스트 표현식에서 \n(줄바꿈)을 입력해줘야 할때
Environment.NewLine 을 입력해준다.
vbcrlf 를 입력해주라는 글도 있지만 명확하게 알 수 있는 Environment.NewLine 이 더 좋은 것 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | -- ===== [CPU] ===== -- CPU 점유율 높은 쿼리 확인 ;WITH cte AS ( SELECT stat.[sql_handle] , stat.statement_start_offset , stat.statement_end_offset , COUNT(*) AS NumExecutionPlans , SUM(stat.execution_count) AS TotalExecutions , ((SUM(stat.total_logical_reads) * 1.0) / SUM(stat.execution_count)) AS AvgLogicalReads , ((SUM(stat.total_worker_time) * 1.0) / SUM(stat.execution_count)) AS AvgCPU FROM sys.dm_exec_query_stats AS stat GROUP BY stat.[sql_handle], stat.statement_start_offset, stat.statement_end_offset ) SELECT CONVERT(DECIMAL(15,5), cte.AvgCPU) AS AvgCPU , CONVERT(DECIMAL(15, 5), cte.AvgLogicalReads) AS AvgLogicalReads , cte.NumExecutionPlans , cte.TotalExecutions , DB_NAME(txt.[dbid]) AS [DatabaseName] , OBJECT_NAME(txt.objectid, txt.[dbid]) AS [objectName] , SUBSTRING(txt.[text], (cte.statement_start_offset/2)+1, ( (CASE cte.statement_end_offset WHEN -1 THEN DATALENGTH(txt.[text]) ELSE cte.statement_end_offset END - cte.statement_start_offset)/2 ) +1 ) AS query_text FROM cte CROSS APPLY sys.dm_exec_sql_text(cte.[sql_handle]) txt ORDER BY cte.AvgCPU DESC; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | -- ===== [MEMORY] ===== -- SQL MAX memory 확인 EXEC sp_configure 'max server memory'; -- SQL MAX memory 설정 --DECLARE @maxMem INT = 3000 -- MAX. MB 단위로 입력 --EXEC sp_configure 'show advanced options', 1 --RECONFIGURE --EXEC sp_configure 'max server memory', @maxMem; --RECONFIGURE -- SQL MIN memory 확인 EXEC sp_configure 'min server memory'; -- SQL MIN memory 설정 --DECLARE @minMem INT = 3000 -- MAX. MB 단위로 입력 --EXEC sp_configure 'show advanced options', 1 --RECONFIGURE --EXEC sp_configure 'min server memory', @minMem; --RECONFIGURE -- OS 메모리 정보 확인(단위(GB)) SELECT CONVERT(DECIMAL(5,2), total_physical_memory_kb/1048576.0) AS Total_P_Mem_GB -- total_physical_memory ,CONVERT(DECIMAL(5,2), available_physical_memory_kb/1048576.0) AS Avail_P_Mem_GB -- available_physical_memory ,CONVERT(DECIMAL(5,2), total_page_file_kb/1048576.0) AS Total_page_file_GB -- total_page_file_kb ,CONVERT(DECIMAL(5,2), available_page_file_kb/1048576.0) AS Avail_Page_file_GB -- available_page_file ,ROUND(100.0 - (100.0*available_physical_memory_kb/total_physical_memory_kb),2) AS Percentage_Used ,system_memory_state_desc FROM sys.dm_os_sys_memory; |
1 2 3 4 5 6 7 8 9 10 | DECLARE @GranteeName NVARCHAR(50) = N'username' ,@PermissionType CHAR(2) = '' ,@ObjectType CHAR(2) = '' SELECT SCHEMA_NAME(o.schema_id) + '.' + o.name AS ObjectName FROM sys.objects AS o LEFT JOIN sys.database_permissions AS dp ON o.object_id = dp.major_id AND dp.type = @PermissionType LEFT JOIN sys.database_principals AS dpr ON dp.grantee_principal_id = dpr.principal_id AND dpr.name = @GranteeName WHERE o.type = @ObjectType AND dpr.name IS NULL |
SELECT DISTINCT Type FROM sys.objects;
type char(2)
Object type:
AF = Aggregate function (CLR)
C = CHECK constraint
D = DEFAULT (constraint or stand-alone)
F = FOREIGN KEY constraint
FN = SQL scalar function
FS = Assembly (CLR) scalar-function
FT = Assembly (CLR) table-valued function
IF = SQL inline table-valued function
IT = Internal table
P = SQL Stored Procedure
PC = Assembly (CLR) stored-procedure
PG = Plan guide
PK = PRIMARY KEY constraint
R = Rule (old-style, stand-alone)
RF = Replication-filter-procedure
S = System base table
SN = Synonym
SO = Sequence object
U = Table (user-defined)
V = View
EC = Edge constraint
Applies to: SQL Server 2012 (11.x) and later.
SQ = Service queue
TA = Assembly (CLR) DML trigger
TF = SQL table-valued-function
TR = SQL DML trigger
TT = Table type
UQ = UNIQUE constraint
X = Extended stored procedure
Applies to: SQL Server 2014 (12.x) and later, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW).
ST = STATS_TREE
Applies to: SQL Server 2016 (13.x) and later, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW).
ET = External Table
버전: SQL Server 2017
SQL Server에서 연결된 Mysql 링크드 서버에서 가끔 Openquery를 사용해서 데이터를 조회한다. '(quotation) 표기도 헷갈리고 Where절에 파라미터를 넘기는 것도 복잡해서 찾아보니 Openquery 자체를 view로 만들수 있었다.
1 2 3 4 5 6 7 8 | -- View 만들기 Create View ViewName AS SELECT * FROM OPENQUERY( LinkedserverName, 'SELECT * FROM MysqlTable' ) Query -- View 실행 DECLARE @id INT = 1 SELECT * FROM ViewName WHERE id = @id; |
제목: 제로웨이스트는 처음인데요
저자: 소일
출판사: 판미동
장르: 사회과학
이전에도 실천하고 싶었지만 방법을 잘 몰랐다. 임신과 출산을 하고 더 관심을 갖게 되어 읽어봤다. 제로웨이스트라는 말 자체가 생소할 수 있지만 천천히 하나 하나 바꿔가야 하는 것은 맞다. 현재 내가 하고 있는 것은 비누로 머리 감기, 그리고 아기의 기저귀를 생분해가 가능한 것을 사용하는 것이다. 기저귀가 썩는데 500년이 걸린다니 정말 무서웠다.
나만 실천한다고 해서 달라질게 뭐가 있냐라는 생각이 들기도 하지만 생각해보면 독립운동도 한 명 한 명이 모여 실천한 것 아닌가.
그런 의미에서 다른 사람들도 책을 볼 수 있도록 중고 서점에 책을 내놔야겠다.
제목: 뭘할지는 모르지만 아무거나 하긴 싫어
저자: 이동진, 최경희, 김주은, 민세은
출판사: 트래블코드
장르: 경제경영
에세이인 줄 알고 책 제목만 보고 샀는데 전혀 다른 책이었다.
특별한 세계 곳곳으 가게들을 소개해주는 책이었다.
처음에는 약간 지루한 면이 없잖아 있었지만...(이건 개인의 취향이다.)
특이한 마케팅 이야기에 끌리기도 했다.
여행을 좋아하고, 여행지의 특별함을 찾고 싶은 사람이라면 좋아할 만한 책같다.
제목: 오두막 편지
저자: 법정스님
출판사: 이레
장르: 에세이
읽는데 너무 오래 걸렸다.
읽다 보면 졸리고 읽다 보면 졸리고, 천천히 읽었다.
책이 오래 전에 쓰인 책이라 아무래도 지금의 사정과는 조금 다른 감이 있기도 했다.
2021년에 IMF 이야기라니...
그래도 왠지 끝까지 읽고 싶은 마음에 완독했다.
다 읽고 나니 개운한 느낌이었다.
이 책은 나와 맞지 않았지만 다른 책은 맞지 않을까?
좀 더 찾아 봐야겠다.
제목: 애쓰지 않고 편안하게
저자: 김수현
출판사: 놀(다산북스)
장르: 에세이
'나는 나로 살기로 했다'를 재미있게 봐서 구매했다.
쉽게 쉽게 읽히고, 기억할 만한 몇 문장도 있었지만 아!하는 탄성을 자아내지는 못했다.
뭐~ 항상 만족하는 책을 읽을 수 있는 건 아니니까.
제목처럼 마음을 편안하게 하고 싶을 때 읽으면 좋을 것 같다.