Raise Error Concatenation in SQL ServerSql server 2008 R2 installation fails with Error: 17204SQL Server tail log backup fails where it shouldn'tCan not start SQL Server, model db in RESTORING statehow to shoot SQL error 823?Cannot drop distribution database in SQL Server 2012SQL database in status SUSPECTSQL server agent unable to open step output file the step failed - mapped drivesDrive with ldf files failed and some databases left in recovery pending statusUpgrade to SQL Server 2017 Fails
What is gerrymandering called if it's not the result of redrawing districts?
Confronted about an Amazon review
Why are Krueger flaps called flaps and not slats?
Why it is a big deal whether or not Adam Schiff talked to the whistleblower?
What exactly is meant by "partial function" in functional programming?
How would a race of humanoids with tails design [vehicle] seats?
Is the phrase “You are requested” polite or rude?
Would a spacecraft carry arc welding supplies?
Have the US and Russia (or USSR before it) co-vetoed a UN resolution before today?
The Immortal Jellyfish
What is the white square near the viewfinder of the Fujica GW690?
Is it unusual that English uses possessive for past tense?
Does Turkey make the "structural steel frame" for the F-35 fighter?
Can I exit and reenter a UK station while waiting for a connecting train?
Company indirectly discriminating against introverts, specifically INTJ
Stare long enough and you will have found the answer
Should I respond to a sabotage accusation e-mail at work?
Meaning of “Bulldog drooled courses through his jowls”
Who inspired the character Geordi La Forge?
What are these objects near the Cosmonaut's faces?
Moving through the space of an invisible enemy creature in combat
Can I use Oko's ability targetting a creature with protection from green?
Was Switzerland pressured either by Allies or Axis to take part in World War 2 at any time?
when to use がつ or げつ readings for 月?
Raise Error Concatenation in SQL Server
Sql server 2008 R2 installation fails with Error: 17204SQL Server tail log backup fails where it shouldn'tCan not start SQL Server, model db in RESTORING statehow to shoot SQL error 823?Cannot drop distribution database in SQL Server 2012SQL database in status SUSPECTSQL server agent unable to open step output file the step failed - mapped drivesDrive with ldf files failed and some databases left in recovery pending statusUpgrade to SQL Server 2017 Fails
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty
margin-bottom:0;
Step 1 :I created a custom error message in sys.messages
EXEC sp_addmessage
@msgnum = 50001,
@severity = 10,
@msgtext =
N'Error 50001, severity 10, state 1 was raised, Please check mdf file.' ,
@lang = 'us_english',
@replace='REPLACE';
Step 2: Inside a Job when a condition is met I am raising the error
RAISERROR(50001, 10,1,@freespacePct, @dbname,@drive) with LOG;
I would like to see FreespacePCt,database name and drive details inside the error message.
But when I look at the raised error I am just seeing just what I declared inside the sp_addmessage
. How can I log the other details?
Message I am seeing :
Error 50001, severity 10, state 1 was raised, Please check mdf file.
sql-server
add a comment
|
Step 1 :I created a custom error message in sys.messages
EXEC sp_addmessage
@msgnum = 50001,
@severity = 10,
@msgtext =
N'Error 50001, severity 10, state 1 was raised, Please check mdf file.' ,
@lang = 'us_english',
@replace='REPLACE';
Step 2: Inside a Job when a condition is met I am raising the error
RAISERROR(50001, 10,1,@freespacePct, @dbname,@drive) with LOG;
I would like to see FreespacePCt,database name and drive details inside the error message.
But when I look at the raised error I am just seeing just what I declared inside the sp_addmessage
. How can I log the other details?
Message I am seeing :
Error 50001, severity 10, state 1 was raised, Please check mdf file.
sql-server
add a comment
|
Step 1 :I created a custom error message in sys.messages
EXEC sp_addmessage
@msgnum = 50001,
@severity = 10,
@msgtext =
N'Error 50001, severity 10, state 1 was raised, Please check mdf file.' ,
@lang = 'us_english',
@replace='REPLACE';
Step 2: Inside a Job when a condition is met I am raising the error
RAISERROR(50001, 10,1,@freespacePct, @dbname,@drive) with LOG;
I would like to see FreespacePCt,database name and drive details inside the error message.
But when I look at the raised error I am just seeing just what I declared inside the sp_addmessage
. How can I log the other details?
Message I am seeing :
Error 50001, severity 10, state 1 was raised, Please check mdf file.
sql-server
Step 1 :I created a custom error message in sys.messages
EXEC sp_addmessage
@msgnum = 50001,
@severity = 10,
@msgtext =
N'Error 50001, severity 10, state 1 was raised, Please check mdf file.' ,
@lang = 'us_english',
@replace='REPLACE';
Step 2: Inside a Job when a condition is met I am raising the error
RAISERROR(50001, 10,1,@freespacePct, @dbname,@drive) with LOG;
I would like to see FreespacePCt,database name and drive details inside the error message.
But when I look at the raised error I am just seeing just what I declared inside the sp_addmessage
. How can I log the other details?
Message I am seeing :
Error 50001, severity 10, state 1 was raised, Please check mdf file.
sql-server
sql-server
edited 8 hours ago
scsimon
2,7707 silver badges19 bronze badges
2,7707 silver badges19 bronze badges
asked 8 hours ago
user3325655user3325655
1021 gold badge2 silver badges13 bronze badges
1021 gold badge2 silver badges13 bronze badges
add a comment
|
add a comment
|
1 Answer
1
active
oldest
votes
You need to add some parameters to your @msgtext so SQL Server knows where you put your data. Something like so:
EXEC sp_addmessage
@msgnum = 50001,
@severity = 10,
@msgtext =
N'Error 50001, severity 10, state 1 was raised, Please check mdf file. The freespace is %d percent for %s residing on %s' ,
@lang = 'us_english',
@replace='REPLACE';
Then, you would raise it....
declare @freespacePct int = 45
,@dbname sysname = 'MYDB'
,@drive varchar(16) = 'F:/'
RAISERROR(50001, 10,1,@freespacePct, @dbname,@drive) with LOG;
That would return:
Error 50001, severity 10, state 1 was raised, Please check mdf file.
The freespace is 45 percent for MYDB residing on F:/
The %s
is used for strings, %d
is used for signed integers. You can find all of the type specifications in the RAISERROR
documentation.
Type specification Represents
d or i Signed integer
o Unsigned octal
s String
u Unsigned integer
x or X Unsigned hexadecimal
These type specifications are based on the ones originally defined for
the printf function in the C standard library. The type
specifications used in RAISERROR message strings map to Transact-SQL
data types, while the specifications used in printf map to C language
data types. Type specifications used in printf are not supported by
RAISERROR when Transact-SQL does not have a data type similar to the
associated C data type. For example, the %p specification for pointers
is not supported in RAISERROR because Transact-SQL does not have a
pointer data type.
Thank you. That worked. This is what I am trying to achieve.
– user3325655
4 hours ago
add a comment
|
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "182"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/4.0/"u003ecc by-sa 4.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f250881%2fraise-error-concatenation-in-sql-server%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You need to add some parameters to your @msgtext so SQL Server knows where you put your data. Something like so:
EXEC sp_addmessage
@msgnum = 50001,
@severity = 10,
@msgtext =
N'Error 50001, severity 10, state 1 was raised, Please check mdf file. The freespace is %d percent for %s residing on %s' ,
@lang = 'us_english',
@replace='REPLACE';
Then, you would raise it....
declare @freespacePct int = 45
,@dbname sysname = 'MYDB'
,@drive varchar(16) = 'F:/'
RAISERROR(50001, 10,1,@freespacePct, @dbname,@drive) with LOG;
That would return:
Error 50001, severity 10, state 1 was raised, Please check mdf file.
The freespace is 45 percent for MYDB residing on F:/
The %s
is used for strings, %d
is used for signed integers. You can find all of the type specifications in the RAISERROR
documentation.
Type specification Represents
d or i Signed integer
o Unsigned octal
s String
u Unsigned integer
x or X Unsigned hexadecimal
These type specifications are based on the ones originally defined for
the printf function in the C standard library. The type
specifications used in RAISERROR message strings map to Transact-SQL
data types, while the specifications used in printf map to C language
data types. Type specifications used in printf are not supported by
RAISERROR when Transact-SQL does not have a data type similar to the
associated C data type. For example, the %p specification for pointers
is not supported in RAISERROR because Transact-SQL does not have a
pointer data type.
Thank you. That worked. This is what I am trying to achieve.
– user3325655
4 hours ago
add a comment
|
You need to add some parameters to your @msgtext so SQL Server knows where you put your data. Something like so:
EXEC sp_addmessage
@msgnum = 50001,
@severity = 10,
@msgtext =
N'Error 50001, severity 10, state 1 was raised, Please check mdf file. The freespace is %d percent for %s residing on %s' ,
@lang = 'us_english',
@replace='REPLACE';
Then, you would raise it....
declare @freespacePct int = 45
,@dbname sysname = 'MYDB'
,@drive varchar(16) = 'F:/'
RAISERROR(50001, 10,1,@freespacePct, @dbname,@drive) with LOG;
That would return:
Error 50001, severity 10, state 1 was raised, Please check mdf file.
The freespace is 45 percent for MYDB residing on F:/
The %s
is used for strings, %d
is used for signed integers. You can find all of the type specifications in the RAISERROR
documentation.
Type specification Represents
d or i Signed integer
o Unsigned octal
s String
u Unsigned integer
x or X Unsigned hexadecimal
These type specifications are based on the ones originally defined for
the printf function in the C standard library. The type
specifications used in RAISERROR message strings map to Transact-SQL
data types, while the specifications used in printf map to C language
data types. Type specifications used in printf are not supported by
RAISERROR when Transact-SQL does not have a data type similar to the
associated C data type. For example, the %p specification for pointers
is not supported in RAISERROR because Transact-SQL does not have a
pointer data type.
Thank you. That worked. This is what I am trying to achieve.
– user3325655
4 hours ago
add a comment
|
You need to add some parameters to your @msgtext so SQL Server knows where you put your data. Something like so:
EXEC sp_addmessage
@msgnum = 50001,
@severity = 10,
@msgtext =
N'Error 50001, severity 10, state 1 was raised, Please check mdf file. The freespace is %d percent for %s residing on %s' ,
@lang = 'us_english',
@replace='REPLACE';
Then, you would raise it....
declare @freespacePct int = 45
,@dbname sysname = 'MYDB'
,@drive varchar(16) = 'F:/'
RAISERROR(50001, 10,1,@freespacePct, @dbname,@drive) with LOG;
That would return:
Error 50001, severity 10, state 1 was raised, Please check mdf file.
The freespace is 45 percent for MYDB residing on F:/
The %s
is used for strings, %d
is used for signed integers. You can find all of the type specifications in the RAISERROR
documentation.
Type specification Represents
d or i Signed integer
o Unsigned octal
s String
u Unsigned integer
x or X Unsigned hexadecimal
These type specifications are based on the ones originally defined for
the printf function in the C standard library. The type
specifications used in RAISERROR message strings map to Transact-SQL
data types, while the specifications used in printf map to C language
data types. Type specifications used in printf are not supported by
RAISERROR when Transact-SQL does not have a data type similar to the
associated C data type. For example, the %p specification for pointers
is not supported in RAISERROR because Transact-SQL does not have a
pointer data type.
You need to add some parameters to your @msgtext so SQL Server knows where you put your data. Something like so:
EXEC sp_addmessage
@msgnum = 50001,
@severity = 10,
@msgtext =
N'Error 50001, severity 10, state 1 was raised, Please check mdf file. The freespace is %d percent for %s residing on %s' ,
@lang = 'us_english',
@replace='REPLACE';
Then, you would raise it....
declare @freespacePct int = 45
,@dbname sysname = 'MYDB'
,@drive varchar(16) = 'F:/'
RAISERROR(50001, 10,1,@freespacePct, @dbname,@drive) with LOG;
That would return:
Error 50001, severity 10, state 1 was raised, Please check mdf file.
The freespace is 45 percent for MYDB residing on F:/
The %s
is used for strings, %d
is used for signed integers. You can find all of the type specifications in the RAISERROR
documentation.
Type specification Represents
d or i Signed integer
o Unsigned octal
s String
u Unsigned integer
x or X Unsigned hexadecimal
These type specifications are based on the ones originally defined for
the printf function in the C standard library. The type
specifications used in RAISERROR message strings map to Transact-SQL
data types, while the specifications used in printf map to C language
data types. Type specifications used in printf are not supported by
RAISERROR when Transact-SQL does not have a data type similar to the
associated C data type. For example, the %p specification for pointers
is not supported in RAISERROR because Transact-SQL does not have a
pointer data type.
answered 8 hours ago
scsimonscsimon
2,7707 silver badges19 bronze badges
2,7707 silver badges19 bronze badges
Thank you. That worked. This is what I am trying to achieve.
– user3325655
4 hours ago
add a comment
|
Thank you. That worked. This is what I am trying to achieve.
– user3325655
4 hours ago
Thank you. That worked. This is what I am trying to achieve.
– user3325655
4 hours ago
Thank you. That worked. This is what I am trying to achieve.
– user3325655
4 hours ago
add a comment
|
Thanks for contributing an answer to Database Administrators Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f250881%2fraise-error-concatenation-in-sql-server%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown